Coverage Report

Created: 2024-06-14 01:33

/src/scnlib/src/scn/impl.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Transitively includes <scn/scan.h>
21
#include <scn/regex.h>
22
#include <scn/xchar.h>
23
24
#include <algorithm>
25
#include <clocale>
26
#include <cmath>
27
#include <cwchar>
28
#include <functional>
29
#include <vector>
30
31
#if SCN_HAS_BITOPS
32
#include <bit>
33
#elif SCN_MSVC
34
#include <IntSafe.h>
35
#include <intrin.h>
36
#elif SCN_POSIX && !SCN_GCC_COMPAT
37
38
SCN_CLANG_PUSH
39
SCN_CLANG_IGNORE("-Wreserved-id-macro")
40
#define _XOPEN_SOURCE 700
41
SCN_CLANG_POP
42
43
#include <strings.h>
44
#endif
45
46
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
47
#include <regex>
48
#if SCN_REGEX_BOOST_USE_ICU
49
#error "Can't use the ICU with std::regex"
50
#endif
51
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
52
#include <boost/regex.hpp>
53
#if SCN_REGEX_BOOST_USE_ICU
54
#include <boost/regex/icu.hpp>
55
#endif
56
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
57
#include <re2/re2.h>
58
#endif
59
60
namespace scn {
61
SCN_BEGIN_NAMESPACE
62
63
/////////////////////////////////////////////////////////////////
64
// Private ranges stuff
65
/////////////////////////////////////////////////////////////////
66
67
namespace ranges {
68
69
template <typename R>
70
using const_iterator_t = iterator_t<std::add_const_t<R>>;
71
72
// Like std::ranges::distance, utilizing .position if available
73
namespace detail::distance_ {
74
struct fn {
75
private:
76
    template <typename I, typename S>
77
    static constexpr auto impl(I i, S s, priority_tag<1>)
78
        -> decltype(s.position() - i.position())
79
    {
80
        return s.position() - i.position();
81
    }
82
83
    template <typename I, typename S>
84
    static constexpr auto impl(I i, S s, priority_tag<0>)
85
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
86
168M
    {
87
168M
        return s - i;
88
168M
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<char const*, char const*>(char const*, char const*, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
86
22.4M
    {
87
22.4M
        return s - i;
88
22.4M
    }
std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
86
145M
    {
87
145M
        return s - i;
88
145M
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >, scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>, scn::v3::detail::priority_tag<0ul>)
89
90
    template <typename I, typename S>
91
    static constexpr auto impl(I i, S s, priority_tag<0>)
92
        -> std::enable_if_t<!sized_sentinel_for<S, I>, iter_difference_t<I>>
93
112M
    {
94
112M
        iter_difference_t<I> counter{0};
95
196G
        while (i != s) {
96
195G
            ++i;
97
195G
            ++counter;
98
195G
        }
99
112M
        return counter;
100
112M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
93
6.24M
    {
94
6.24M
        iter_difference_t<I> counter{0};
95
61.0M
        while (i != s) {
96
54.8M
            ++i;
97
54.8M
            ++counter;
98
54.8M
        }
99
6.24M
        return counter;
100
6.24M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
93
105M
    {
94
105M
        iter_difference_t<I> counter{0};
95
196G
        while (i != s) {
96
195G
            ++i;
97
195G
            ++counter;
98
195G
        }
99
105M
        return counter;
100
105M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::detail::priority_tag<0ul>)
101
102
public:
103
    template <typename I, typename S>
104
    constexpr auto operator()(I first, S last) const
105
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
106
                            iter_difference_t<I>>
107
280M
    {
108
280M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
280M
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
107
22.4M
    {
108
22.4M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
22.4M
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
107
145M
    {
108
145M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
145M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator) const
Line
Count
Source
107
6.24M
    {
108
6.24M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
6.24M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<char*> >)&&(sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >), scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
Line
Count
Source
107
105M
    {
108
105M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
105M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<wchar_t*> >)&&(sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >), scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>) const
110
};
111
}  // namespace detail::distance_
112
113
inline constexpr auto distance = detail::distance_::fn{};
114
115
namespace detail {
116
template <typename I, typename = void>
117
struct has_batch_advance : std::false_type {};
118
template <typename I>
119
struct has_batch_advance<I,
120
                         std::void_t<decltype(SCN_DECLVAL(I&).batch_advance(
121
                             SCN_DECLVAL(std::ptrdiff_t)))>> : std::true_type {
122
};
123
}  // namespace detail
124
125
// std::advance, utilizing .batch_advance if available
126
namespace detail::advance_ {
127
struct fn {
128
private:
129
    template <typename T>
130
    static constexpr T abs(T t)
131
92.5k
    {
132
92.5k
        if (t < T{0}) {
133
0
            return -t;
134
0
        }
135
92.5k
        return t;
136
92.5k
    }
137
138
    template <typename I>
139
    static constexpr auto impl(I& i, iter_difference_t<I> n, priority_tag<1>)
140
        -> std::enable_if_t<has_batch_advance<I>::value>
141
    {
142
        i.batch_advance(n);
143
    }
144
145
    template <typename I>
146
    static constexpr auto impl_i_n(I& i,
147
                                   iter_difference_t<I> n,
148
                                   priority_tag<0>)
149
        -> std::enable_if_t<random_access_iterator<I>>
150
17.4M
    {
151
17.4M
        i += n;
152
17.4M
    }
std::__1::enable_if<random_access_iterator<char const*>, void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
150
16.1M
    {
151
16.1M
        i += n;
152
16.1M
    }
std::__1::enable_if<random_access_iterator<wchar_t const*>, void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
150
1.22M
    {
151
1.22M
        i += n;
152
1.22M
    }
153
154
    template <typename I>
155
    static constexpr auto impl_i_n(I& i,
156
                                   iter_difference_t<I> n,
157
                                   priority_tag<0>)
158
        -> std::enable_if_t<bidirectional_iterator<I> &&
159
                            !random_access_iterator<I>>
160
3.02k
    {
161
3.02k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
3.02k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
3.02k
        else {
169
3.02k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
3.02k
        }
173
3.02k
    }
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
160
1.14k
    {
161
1.14k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.14k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.14k
        else {
169
1.14k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.14k
        }
173
1.14k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
160
1.88k
    {
161
1.88k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.88k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.88k
        else {
169
1.88k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.88k
        }
173
1.88k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
174
175
    template <typename I>
176
    static constexpr auto impl_i_n(I& i,
177
                                   iter_difference_t<I> n,
178
                                   priority_tag<0>)
179
        -> std::enable_if_t<!bidirectional_iterator<I>>
180
16.6M
    {
181
63.3M
        while (n-- > iter_difference_t<I>{0}) {
182
46.7M
            ++i;
183
46.7M
        }
184
16.6M
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
180
15.7M
    {
181
60.5M
        while (n-- > iter_difference_t<I>{0}) {
182
44.7M
            ++i;
183
44.7M
        }
184
15.7M
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
180
873k
    {
181
2.87M
        while (n-- > iter_difference_t<I>{0}) {
182
2.00M
            ++i;
183
2.00M
        }
184
873k
    }
185
186
    template <typename I, typename S>
187
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<2>)
188
        -> std::enable_if_t<std::is_assignable_v<I&, S>>
189
1.98M
    {
190
1.98M
        i = std::move(bound);
191
1.98M
    }
_ZN3scn2v36ranges6detail8advance_2fn8impl_i_sIPKcS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
1.77M
    {
190
1.77M
        i = std::move(bound);
191
1.77M
    }
_ZN3scn2v36ranges6detail8advance_2fn8impl_i_sIPKwS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
201k
    {
190
201k
        i = std::move(bound);
191
201k
    }
192
193
    template <typename I, typename S>
194
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<1>)
195
        -> std::enable_if_t<sized_sentinel_for<S, I>>
196
    {
197
        fn::impl_i_n(i, bound - i);
198
    }
199
200
    template <typename I, typename S>
201
    static constexpr void impl_i_s(I& i, S bound, priority_tag<0>)
202
150
    {
203
3.07k
        while (i != bound) {
204
2.92k
            ++i;
205
2.92k
        }
206
150
    }
Unexecuted instantiation: void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
202
102
    {
203
2.38k
        while (i != bound) {
204
2.28k
            ++i;
205
2.28k
        }
206
102
    }
Unexecuted instantiation: void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
202
48
    {
203
690
        while (i != bound) {
204
642
            ++i;
205
642
        }
206
48
    }
207
208
    template <typename I, typename S>
209
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
210
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
211
46.2k
    {
212
46.2k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
54
            auto dist = bound - i;
214
54
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
54
            return dist;
216
54
        }
217
46.2k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
46.2k
        return n;
219
46.2k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<char const*, char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, char const*)
Line
Count
Source
211
46.2k
    {
212
46.2k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
54
            auto dist = bound - i;
214
54
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
54
            return dist;
216
54
        }
217
46.2k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
46.2k
        return n;
219
46.2k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*)
220
221
    template <typename I, typename S>
222
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
223
        -> std::enable_if_t<bidirectional_iterator<I> &&
224
                                !sized_sentinel_for<S, I>,
225
                            iter_difference_t<I>>
226
5.08k
    {
227
5.08k
        constexpr iter_difference_t<I> zero{0};
228
5.08k
        iter_difference_t<I> counter{0};
229
230
5.08k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
5.08k
        else {
237
16.3k
            while (n-- > zero && i != bound) {
238
11.2k
                ++i;
239
11.2k
                ++counter;
240
11.2k
            }
241
5.08k
        }
242
243
5.08k
        return counter;
244
5.08k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
226
4.76k
    {
227
4.76k
        constexpr iter_difference_t<I> zero{0};
228
4.76k
        iter_difference_t<I> counter{0};
229
230
4.76k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
4.76k
        else {
237
15.1k
            while (n-- > zero && i != bound) {
238
10.4k
                ++i;
239
10.4k
                ++counter;
240
10.4k
            }
241
4.76k
        }
242
243
4.76k
        return counter;
244
4.76k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
226
322
    {
227
322
        constexpr iter_difference_t<I> zero{0};
228
322
        iter_difference_t<I> counter{0};
229
230
322
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
322
        else {
237
1.18k
            while (n-- > zero && i != bound) {
238
862
                ++i;
239
862
                ++counter;
240
862
            }
241
322
        }
242
243
322
        return counter;
244
322
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
245
246
    template <typename I, typename S>
247
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
248
        -> std::enable_if_t<!bidirectional_iterator<I> &&
249
                                !sized_sentinel_for<S, I>,
250
                            iter_difference_t<I>>
251
172k
    {
252
172k
        constexpr iter_difference_t<I> zero{0};
253
172k
        iter_difference_t<I> counter{0};
254
255
587k
        while (n-- > zero && i != bound) {
256
415k
            ++i;
257
415k
            ++counter;
258
415k
        }
259
260
172k
        return counter;
261
172k
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
std::__1::enable_if<(!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>))&&(!(sized_sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
251
172k
    {
252
172k
        constexpr iter_difference_t<I> zero{0};
253
172k
        iter_difference_t<I> counter{0};
254
255
587k
        while (n-- > zero && i != bound) {
256
415k
            ++i;
257
415k
            ++counter;
258
415k
        }
259
260
172k
        return counter;
261
172k
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>))&&(!(sized_sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t)
262
263
public:
264
    template <typename I>
265
    constexpr auto operator()(I& i, iter_difference_t<I> n) const
266
        -> std::enable_if_t<input_or_output_iterator<I>>
267
33.9M
    {
268
33.9M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
33.9M
    }
std::__1::enable_if<input_or_output_iterator<char const*>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
267
16.1M
    {
268
16.1M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
16.1M
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
267
1.22M
    {
268
1.22M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.22M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Line
Count
Source
267
1.14k
    {
268
1.14k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.14k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Line
Count
Source
267
15.7M
    {
268
15.7M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
15.7M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Line
Count
Source
267
873k
    {
268
873k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
873k
    }
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Line
Count
Source
267
1.88k
    {
268
1.88k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.88k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
270
271
    template <typename I, typename S>
272
    constexpr auto operator()(I& i, S bound) const
273
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>
274
1.98M
    {
275
1.98M
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
1.98M
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), void>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, char const*) const
Line
Count
Source
274
1.77M
    {
275
1.77M
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
1.77M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
274
102
    {
275
102
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
102
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), void>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, wchar_t const*) const
Line
Count
Source
274
201k
    {
275
201k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
201k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
274
48
    {
275
48
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
48
    }
277
278
    template <typename I, typename S>
279
    constexpr auto operator()(I& i, iter_difference_t<I> n, S bound) const
280
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
281
                            iter_difference_t<I>>
282
223k
    {
283
223k
        return n - fn::impl_i_n_s(i, n, bound);
284
223k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
282
4.76k
    {
283
4.76k
        return n - fn::impl_i_n_s(i, n, bound);
284
4.76k
    }
std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t) const
Line
Count
Source
282
172k
    {
283
172k
        return n - fn::impl_i_n_s(i, n, bound);
284
172k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, char const*) const
Line
Count
Source
282
46.2k
    {
283
46.2k
        return n - fn::impl_i_n_s(i, n, bound);
284
46.2k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>) const
Line
Count
Source
282
322
    {
283
322
        return n - fn::impl_i_n_s(i, n, bound);
284
322
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>) const
285
};
286
}  // namespace detail::advance_
287
288
inline constexpr auto advance = detail::advance_::fn{};
289
290
namespace next_impl {
291
struct fn {
292
    template <typename I>
293
    constexpr auto operator()(I x) const
294
        -> std::enable_if_t<input_or_output_iterator<I>, I>
295
19.1M
    {
296
19.1M
        ++x;
297
19.1M
        return x;
298
19.1M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator) const
Line
Count
Source
295
10.3M
    {
296
10.3M
        ++x;
297
10.3M
        return x;
298
10.3M
    }
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Line
Count
Source
295
1.92k
    {
296
1.92k
        ++x;
297
1.92k
        return x;
298
1.92k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*>(char const*) const
Line
Count
Source
295
6.64M
    {
296
6.64M
        ++x;
297
6.64M
        return x;
298
6.64M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
Line
Count
Source
295
973k
    {
296
973k
        ++x;
297
973k
        return x;
298
973k
    }
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
295
852
    {
296
852
        ++x;
297
852
        return x;
298
852
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*) const
Line
Count
Source
295
1.25M
    {
296
1.25M
        ++x;
297
1.25M
        return x;
298
1.25M
    }
299
300
    template <typename I>
301
    constexpr auto operator()(I x, iter_difference_t<I> n) const
302
        -> std::enable_if_t<input_or_output_iterator<I>, I>
303
29.1M
    {
304
29.1M
        ranges::advance(x, n);
305
29.1M
        return x;
306
29.1M
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*>(char const*, scn::v3::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
303
16.1M
    {
304
16.1M
        ranges::advance(x, n);
305
16.1M
        return x;
306
16.1M
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
303
1.22M
    {
304
1.22M
        ranges::advance(x, n);
305
1.22M
        return x;
306
1.22M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Line
Count
Source
303
10.9M
    {
304
10.9M
        ranges::advance(x, n);
305
10.9M
        return x;
306
10.9M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Line
Count
Source
303
873k
    {
304
873k
        ranges::advance(x, n);
305
873k
        return x;
306
873k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
307
308
    template <typename I, typename S>
309
    constexpr auto operator()(I x, S bound) const
310
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
311
                            I>
312
1.98M
    {
313
1.98M
        ranges::advance(x, bound);
314
1.98M
        return x;
315
1.98M
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
312
1.77M
    {
313
1.77M
        ranges::advance(x, bound);
314
1.77M
        return x;
315
1.77M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
312
102
    {
313
102
        ranges::advance(x, bound);
314
102
        return x;
315
102
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
312
201k
    {
313
201k
        ranges::advance(x, bound);
314
201k
        return x;
315
201k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
312
48
    {
313
48
        ranges::advance(x, bound);
314
48
        return x;
315
48
    }
316
317
    template <typename I, typename S>
318
    constexpr auto operator()(I x, iter_difference_t<I> n, S bound) const
319
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
320
                            I>
321
    {
322
        ranges::advance(x, n, bound);
323
        return x;
324
    }
325
};
326
}  // namespace next_impl
327
328
inline constexpr next_impl::fn next{};
329
330
// prev, for forward_iterators
331
namespace detail::prev_backtrack_ {
332
struct fn {
333
private:
334
    template <typename It>
335
    static constexpr auto impl(It it, It, priority_tag<2>)
336
        -> std::enable_if_t<bidirectional_iterator<It>, It>
337
    {
338
        --it;
339
        return it;
340
    }
341
342
    template <typename It>
343
    static constexpr auto impl(It it, It beg, priority_tag<1>)
344
        -> remove_cvref_t<decltype((void)beg.batch_advance(42), it)>
345
    {
346
        return beg.batch_advance(it.position() - 1);
347
    }
348
349
    template <typename It>
350
    static constexpr auto impl(It it, It beg, priority_tag<0>)
351
        -> std::enable_if_t<forward_iterator<It>, It>
352
    {
353
        SCN_EXPECT(it != beg);
354
355
        while (true) {
356
            auto tmp = beg;
357
            ++beg;
358
            if (beg == it) {
359
                return tmp;
360
            }
361
        }
362
    }
363
364
public:
365
    template <typename It>
366
    constexpr auto operator()(It it, It beg) const
367
        -> decltype(fn::impl(it, beg, priority_tag<2>{}))
368
    {
369
        return fn::impl(it, beg, priority_tag<2>{});
370
    }
371
};
372
}  // namespace detail::prev_backtrack_
373
374
inline constexpr auto prev_backtrack = detail::prev_backtrack_::fn{};
375
376
// operator<, for forward_iterators
377
namespace detail::less_backtrack_ {
378
struct fn {
379
private:
380
    template <typename It>
381
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<2>)
382
        -> decltype(static_cast<void>(lhs < rhs), true)
383
    {
384
        return lhs < rhs;
385
    }
386
387
    template <typename It>
388
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<1>)
389
        -> decltype(static_cast<void>(lhs.position() < rhs.position()), true)
390
    {
391
        return lhs.position() < rhs.position();
392
    }
393
394
    template <typename It>
395
    static constexpr auto impl(It lhs, It rhs, It beg, priority_tag<0>)
396
        -> std::enable_if_t<ranges::forward_iterator<It>, bool>
397
    {
398
        while (true) {
399
            if (beg == rhs) {
400
                return false;
401
            }
402
            if (beg == lhs) {
403
                return true;
404
            }
405
            ++beg;
406
        }
407
    }
408
409
public:
410
    template <typename It>
411
    constexpr auto operator()(It lhs, It rhs, It beg) const
412
        -> decltype(fn::impl(lhs, rhs, beg, priority_tag<2>{}))
413
    {
414
        return fn::impl(lhs, rhs, beg, priority_tag<2>{});
415
    }
416
};
417
}  // namespace detail::less_backtrack_
418
419
inline constexpr auto less_backtrack = detail::less_backtrack_::fn{};
420
421
}  // namespace ranges
422
423
/////////////////////////////////////////////////////////////////
424
// ASCII-only locale-free <cctype>
425
/////////////////////////////////////////////////////////////////
426
427
namespace impl {
428
inline constexpr std::array<bool, 256> is_ascii_space_lookup = {
429
    {false, false, false, false, false, false, false, false, false, true,
430
     true,  true,  true,  true,  false, false, false, false, false, false,
431
     false, false, false, false, false, false, false, false, false, false,
432
     false, false, true,  false, false, false, false, false, false, false,
433
     false, false, false, false, false, false, false, false, false, false,
434
     false, false, false, false, false, false, false, false, false, false,
435
     false, false, false, false, false, false, false, false, false, false,
436
     false, false, false, false, false, false, false, false, false, false,
437
     false, false, false, false, false, false, false, false, false, false,
438
     false, false, false, false, false, false, false, false, false, false,
439
     false, false, false, false, false, false, false, false, false, false,
440
     false, false, false, false, false, false, false, false, false, false,
441
     false, false, false, false, false, false, false, false, false, false,
442
     false, false, false, false, false, false, false, false, false, false,
443
     false, false, false, false, false, false, false, false, false, false,
444
     false, false, false, false, false, false, false, false, false, false,
445
     false, false, false, false, false, false, false, false, false, false,
446
     false, false, false, false, false, false, false, false, false, false,
447
     false, false, false, false, false, false, false, false, false, false,
448
     false, false, false, false, false, false, false, false, false, false,
449
     false, false, false, false, false, false, false, false, false, false,
450
     false, false, false, false, false, false, false, false, false, false,
451
     false, false, false, false, false, false, false, false, false, false,
452
     false, false, false, false, false, false, false, false, false, false,
453
     false, false, false, false, false, false, false, false, false, false,
454
     false, false, false, false, false, false}};
455
456
constexpr bool is_ascii_space(char ch) noexcept
457
65.0M
{
458
65.0M
    return is_ascii_space_lookup[static_cast<size_t>(
459
65.0M
        static_cast<unsigned char>(ch))];
460
65.0M
}
461
462
constexpr bool is_ascii_space(wchar_t ch) noexcept
463
0
{
464
0
    return ch == 0x20 || (ch >= 0x09 && ch <= 0x0d);
465
0
}
466
467
constexpr bool is_ascii_char(char ch) noexcept
468
491k
{
469
491k
    return static_cast<unsigned char>(ch) <= 127;
470
491k
}
471
472
constexpr bool is_ascii_char(wchar_t ch) noexcept
473
10.5k
{
474
10.5k
#if WCHAR_MIN < 0
475
10.5k
    return ch >= 0 && ch <= 127;
476
#else
477
    return ch <= 127;
478
#endif
479
10.5k
}
480
481
constexpr bool is_ascii_char(char32_t cp) noexcept
482
432k
{
483
432k
    return cp <= 127;
484
432k
}
485
486
/////////////////////////////////////////////////////////////////
487
// <bits>
488
/////////////////////////////////////////////////////////////////
489
490
inline int count_trailing_zeroes(uint64_t val)
491
0
{
492
0
    SCN_EXPECT(val != 0);
493
0
#if SCN_HAS_BITOPS
494
0
    return std::countr_zero(val);
495
0
#elif SCN_GCC_COMPAT
496
0
    return __builtin_ctzll(val);
497
0
#elif SCN_MSVC && SCN_WINDOWS_64BIT
498
0
    DWORD ret{};
499
0
    _BitScanForward64(&ret, val);
500
0
    return static_cast<int>(ret);
501
0
#elif SCN_MSVC && !SCN_WINDOWS_64BIT
502
0
    DWORD ret{};
503
0
    if (_BitScanForward(&ret, static_cast<uint32_t>(val))) {
504
0
        return static_cast<int>(ret);
505
0
    }
506
0
507
0
    _BitScanForward(&ret, static_cast<uint32_t>(val >> 32));
508
0
    return static_cast<int>(ret + 32);
509
0
#elif SCN_POSIX
510
0
    return ::ctzll(val);
511
0
#else
512
0
#define SCN_HAS_BITS_CTZ 0
513
0
    SCN_EXPECT(false);
514
0
    SCN_UNREACHABLE;
515
0
#endif
516
0
}
517
518
#ifndef SCN_HAS_BITS_CTZ
519
#define SCN_HAS_BITS_CTZ 1
520
#endif
521
522
constexpr uint64_t has_zero_byte(uint64_t word)
523
0
{
524
0
    return (word - 0x0101010101010101ull) & ~word & 0x8080808080808080ull;
525
0
}
526
527
constexpr uint64_t has_byte_between(uint64_t word, uint8_t a, uint8_t b)
528
0
{
529
0
    const auto m = static_cast<uint64_t>(a) - 1,
530
0
               n = static_cast<uint64_t>(b) + 1;
531
0
    return (((~0ull / 255 * (127 + (n)) - ((word) & ~0ull / 255 * 127)) &
532
0
             ~(word) &
533
0
             (((word) & ~0ull / 255 * 127) + ~0ull / 255 * (127 - (m)))) &
534
0
            (~0ull / 255 * 128));
535
0
}
536
537
constexpr uint64_t has_byte_greater(uint64_t word, uint8_t n)
538
15.3M
{
539
15.3M
    return (word + ~0ull / 255 * (127 - n) | word) & ~0ull / 255 * 128;
540
15.3M
}
541
542
inline size_t get_index_of_first_nonmatching_byte(uint64_t word)
543
0
{
544
0
    word ^= 0x8080808080808080ull;
545
0
    if (word == 0) {
546
0
        return 8;
547
0
    }
548
0
    return static_cast<size_t>(count_trailing_zeroes(word)) / 8;
549
0
}
550
551
inline size_t get_index_of_first_matching_byte(uint64_t word, uint64_t pattern)
552
0
{
553
0
    constexpr auto mask = 0x7f7f7f7f7f7f7f7full;
554
0
    auto input = word ^ pattern;
555
0
    auto tmp = (input & mask) + mask;
556
0
    tmp = ~(tmp | input | mask);
557
0
    return static_cast<size_t>(count_trailing_zeroes(tmp)) / 8;
558
0
}
559
560
constexpr uint32_t log2_fast(uint32_t val)
561
0
{
562
0
    constexpr uint8_t lookup[] = {0,  9,  1,  10, 13, 21, 2,  29, 11, 14, 16,
563
0
                                  18, 22, 25, 3,  30, 8,  12, 20, 28, 15, 17,
564
0
                                  24, 7,  19, 27, 23, 6,  26, 5,  4,  31};
565
0
566
0
    val |= val >> 1;
567
0
    val |= val >> 2;
568
0
    val |= val >> 4;
569
0
    val |= val >> 8;
570
0
    val |= val >> 16;
571
0
572
0
    return static_cast<uint32_t>(lookup[(val * 0x07c4acddu) >> 27]);
573
0
}
574
575
constexpr uint32_t log2_pow2_fast(uint32_t val)
576
0
{
577
0
    constexpr uint8_t lookup[] = {0,  1,  28, 2,  29, 14, 24, 3,  30, 22, 20,
578
0
                                  15, 25, 17, 4,  8,  31, 27, 13, 23, 21, 19,
579
0
                                  16, 7,  26, 12, 18, 6,  11, 5,  10, 9};
580
0
581
0
    return static_cast<uint32_t>(lookup[(val * 0x077cb531u) >> 27]);
582
0
}
583
584
constexpr uint64_t byteswap(uint64_t val)
585
0
{
586
0
    return (val & 0xFF00000000000000) >> 56 | (val & 0x00FF000000000000) >> 40 |
587
0
           (val & 0x0000FF0000000000) >> 24 | (val & 0x000000FF00000000) >> 8 |
588
0
           (val & 0x00000000FF000000) << 8 | (val & 0x0000000000FF0000) << 24 |
589
0
           (val & 0x000000000000FF00) << 40 | (val & 0x00000000000000FF) << 56;
590
0
}
591
592
/////////////////////////////////////////////////////////////////
593
// <function_ref>
594
/////////////////////////////////////////////////////////////////
595
596
namespace fnref_detail {
597
template <class T>
598
inline constexpr auto select_param_type = [] {
599
    if constexpr (std::is_trivially_copyable_v<T>) {
600
        return detail::type_identity<T>();
601
    }
602
    else {
603
        return std::add_rvalue_reference<T>();
604
    }
605
};
606
607
template <class T>
608
using param_t =
609
    typename std::invoke_result_t<decltype(select_param_type<T>)>::type;
610
611
template <typename Sig>
612
struct qual_fn_sig;
613
614
template <typename R, typename... Args>
615
struct qual_fn_sig<R(Args...)> {
616
    using function = R(Args...);
617
618
    static constexpr bool is_noexcept = false;
619
620
    template <typename... T>
621
    static constexpr bool is_invocable_using =
622
        std::is_invocable_r_v<R, T..., Args...>;
623
624
    template <typename T>
625
    using cv = T;
626
};
627
628
template <typename R, typename... Args>
629
struct qual_fn_sig<R(Args...) noexcept> {
630
    using function = R(Args...);
631
632
    static constexpr bool is_noexcept = true;
633
634
    template <typename... T>
635
    static constexpr bool is_invocable_using =
636
        std::is_nothrow_invocable_r_v<R, T..., Args...>;
637
638
    template <typename T>
639
    using cv = T;
640
};
641
642
template <typename R, typename... Args>
643
struct qual_fn_sig<R(Args...) const> : qual_fn_sig<R(Args...)> {
644
    template <typename T>
645
    using cv = T const;
646
};
647
648
template <typename R, typename... Args>
649
struct qual_fn_sig<R(Args...) const noexcept>
650
    : qual_fn_sig<R(Args...) noexcept> {
651
    template <typename T>
652
    using cv = T const;
653
};
654
655
struct base {
656
    union storage {
657
        constexpr storage() = default;
658
659
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
660
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
261M
        {
662
261M
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >*)
Line
Count
Source
661
8.21M
        {
662
8.21M
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >*)
Line
Count
Source
661
80.8M
        {
662
80.8M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_LPv0EEEPSS_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_LPv0EEEPSK_
Line
Count
Source
661
1.65M
        {
662
1.65M
        }
scn::v3::impl::fnref_detail::base::storage::storage<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}*)
Line
Count
Source
661
22.4k
        {
662
22.4k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_LPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_LPv0EEEPSP_
Line
Count
Source
661
802
        {
662
802
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
396
        {
662
396
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_LPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_LPv0EEEPSM_
Line
Count
Source
661
3.86k
        {
662
3.86k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_LPv0EEEPSM_
Line
Count
Source
661
1.27M
        {
662
1.27M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
255k
        {
662
255k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_LPv0EEEPSM_
Line
Count
Source
661
3.62M
        {
662
3.62M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
168k
        {
662
168k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
430k
        {
662
430k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_LPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_LPv0EEEPSR_
Line
Count
Source
661
6
        {
662
6
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_LPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_LPv0EEEPSR_
Line
Count
Source
661
264
        {
662
264
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_LPv0EEEPSJ_
Line
Count
Source
661
3.80k
        {
662
3.80k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_LPv0EEEPSI_
Line
Count
Source
661
81.9k
        {
662
81.9k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_LPv0EEEPSJ_
Line
Count
Source
661
1.30M
        {
662
1.30M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
160k
        {
662
160k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
413k
        {
662
413k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
185k
        {
662
185k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
454k
        {
662
454k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Line
Count
Source
661
8
        {
662
8
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
Line
Count
Source
661
262
        {
662
262
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
177k
        {
662
177k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
435k
        {
662
435k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
189k
        {
662
189k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
458k
        {
662
458k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
180k
        {
662
180k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
438k
        {
662
438k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
168k
        {
662
168k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
744
        {
662
744
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
36
        {
662
36
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
32
        {
662
32
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
36
        {
662
36
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
32
        {
662
32
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
36
        {
662
36
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
32
        {
662
32
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
4.61M
        {
662
4.61M
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >*)
Line
Count
Source
661
959k
        {
662
959k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_LPv0EEEPSS_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_LPv0EEEPSK_
Line
Count
Source
661
303k
        {
662
303k
        }
scn::v3::impl::fnref_detail::base::storage::storage<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}*)
Line
Count
Source
661
3.46k
        {
662
3.46k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_LPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_LPv0EEEPSE_
Line
Count
Source
661
2.68k
        {
662
2.68k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_LPv0EEEPSP_
Line
Count
Source
661
352
        {
662
352
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
70
        {
662
70
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
Line
Count
Source
661
50.5M
        {
662
50.5M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_LPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_LPv0EEEPSM_
Line
Count
Source
661
74.5k
        {
662
74.5k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
3.53k
        {
662
3.53k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_LPv0EEEPSM_
Line
Count
Source
661
374k
        {
662
374k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
18.9k
        {
662
18.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
70.9k
        {
662
70.9k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_LPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_LPv0EEEPSR_
Line
Count
Source
661
10
        {
662
10
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_LPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_LPv0EEEPSR_
Line
Count
Source
661
114
        {
662
114
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_LPv0EEEPSI_
Line
Count
Source
661
1.41k
        {
662
1.41k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_LPv0EEEPSJ_
Line
Count
Source
661
190k
        {
662
190k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
18.9k
        {
662
18.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
70.9k
        {
662
70.9k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
19.0k
        {
662
19.0k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
70.9k
        {
662
70.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Line
Count
Source
661
6
        {
662
6
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
Line
Count
Source
661
118
        {
662
118
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
19.0k
        {
662
19.0k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
71.3k
        {
662
71.3k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
19.0k
        {
662
19.0k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
71.1k
        {
662
71.1k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
19.1k
        {
662
19.1k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
71.1k
        {
662
71.1k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
24.9M
        {
662
24.9M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
378
        {
662
378
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
30
        {
662
30
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
Line
Count
Source
661
49.8M
        {
662
49.8M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_LPv0EEEPSJ_
Line
Count
Source
661
28
        {
662
28
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
30
        {
662
30
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_LPv0EEEPSJ_
Line
Count
Source
661
28
        {
662
28
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
30
        {
662
30
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_LPv0EEEPSJ_
Line
Count
Source
661
28
        {
662
28
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
25.6M
        {
662
25.6M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_LPv0EEEPSE_
Line
Count
Source
661
82.5k
        {
662
82.5k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
241k
        {
662
241k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
267k
        {
662
267k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
271k
        {
662
271k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
229k
        {
662
229k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
253k
        {
662
253k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
256k
        {
662
256k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
1.88k
        {
662
1.88k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
28.4k
        {
662
28.4k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
29.0k
        {
662
29.0k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
28.6k
        {
662
28.6k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
668
        {
662
668
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
28.4k
        {
662
28.4k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
28.5k
        {
662
28.5k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
28.6k
        {
662
28.6k
        }
663
664
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
665
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
24.7k
        {
667
24.7k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_LPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_LPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSF_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSH_
Line
Count
Source
666
1.70k
        {
667
1.70k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_LPv0EEEPKSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_LPv0EEEPKSM_
Line
Count
Source
666
2.62k
        {
667
2.62k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_LPv0EEEPKSL_
Line
Count
Source
666
318
        {
667
318
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_LPv0EEEPKSL_
Line
Count
Source
666
222
        {
667
222
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_LPv0EEEPKSJ_
Line
Count
Source
666
2.42k
        {
667
2.42k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_LPv0EEEPKSJ_
Line
Count
Source
666
5.58k
        {
667
5.58k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_LPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_LPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSF_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSH_
Line
Count
Source
666
338
        {
667
338
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_LPv0EEEPKSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_LPv0EEEPKSM_
Line
Count
Source
666
3.48k
        {
667
3.48k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_LPv0EEEPKSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_LPv0EEEPKSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_LPv0EEEPKSJ_
Line
Count
Source
666
66
        {
667
66
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_LPv0EEEPKSJ_
Line
Count
Source
666
6.98k
        {
667
6.98k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSJ_
Line
Count
Source
666
506
        {
667
506
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSJ_
Line
Count
Source
666
504
        {
667
504
        }
668
669
        template <typename F,
670
                  std::enable_if_t<std::is_function_v<F>>* = nullptr>
671
        constexpr explicit storage(F* f) noexcept
672
            : m_fp(reinterpret_cast<decltype(m_fp)>(f))
673
        {
674
        }
675
676
        void* m_p{nullptr};
677
        const void* m_cp;
678
        void (*m_fp)();
679
    };
680
681
    template <typename T>
682
    static constexpr auto get(storage s)
683
1.18G
    {
684
1.18G
        if constexpr (std::is_const_v<T>) {
685
1.18G
            return static_cast<T*>(s.m_cp);
686
1.18G
        }
687
1.18G
        else if constexpr (std::is_object_v<T>) {
688
1.18G
            return static_cast<T*>(s.m_p);
689
1.18G
        }
690
1.18G
        else {
691
1.18G
            return reinterpret_cast<T*>(s.m_fp);
692
1.18G
        }
693
1.18G
    }
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
43.0M
    {
684
43.0M
        if constexpr (std::is_const_v<T>) {
685
43.0M
            return static_cast<T*>(s.m_cp);
686
43.0M
        }
687
43.0M
        else if constexpr (std::is_object_v<T>) {
688
43.0M
            return static_cast<T*>(s.m_p);
689
43.0M
        }
690
43.0M
        else {
691
43.0M
            return reinterpret_cast<T*>(s.m_fp);
692
43.0M
        }
693
43.0M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlcE_EEDaNS3_7storageE
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
228M
    {
684
228M
        if constexpr (std::is_const_v<T>) {
685
228M
            return static_cast<T*>(s.m_cp);
686
228M
        }
687
228M
        else if constexpr (std::is_object_v<T>) {
688
228M
            return static_cast<T*>(s.m_p);
689
228M
        }
690
228M
        else {
691
228M
            return reinterpret_cast<T*>(s.m_fp);
692
228M
        }
693
228M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
6.49M
    {
684
6.49M
        if constexpr (std::is_const_v<T>) {
685
6.49M
            return static_cast<T*>(s.m_cp);
686
6.49M
        }
687
6.49M
        else if constexpr (std::is_object_v<T>) {
688
6.49M
            return static_cast<T*>(s.m_p);
689
6.49M
        }
690
6.49M
        else {
691
6.49M
            return reinterpret_cast<T*>(s.m_fp);
692
6.49M
        }
693
6.49M
    }
auto scn::v3::impl::fnref_detail::base::get<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}>(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
33.7k
    {
684
33.7k
        if constexpr (std::is_const_v<T>) {
685
33.7k
            return static_cast<T*>(s.m_cp);
686
33.7k
        }
687
33.7k
        else if constexpr (std::is_object_v<T>) {
688
33.7k
            return static_cast<T*>(s.m_p);
689
33.7k
        }
690
33.7k
        else {
691
33.7k
            return reinterpret_cast<T*>(s.m_fp);
692
33.7k
        }
693
33.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
802
    {
684
802
        if constexpr (std::is_const_v<T>) {
685
802
            return static_cast<T*>(s.m_cp);
686
802
        }
687
802
        else if constexpr (std::is_object_v<T>) {
688
802
            return static_cast<T*>(s.m_p);
689
802
        }
690
802
        else {
691
802
            return reinterpret_cast<T*>(s.m_fp);
692
802
        }
693
802
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
2.12k
    {
684
2.12k
        if constexpr (std::is_const_v<T>) {
685
2.12k
            return static_cast<T*>(s.m_cp);
686
2.12k
        }
687
2.12k
        else if constexpr (std::is_object_v<T>) {
688
2.12k
            return static_cast<T*>(s.m_p);
689
2.12k
        }
690
2.12k
        else {
691
2.12k
            return reinterpret_cast<T*>(s.m_fp);
692
2.12k
        }
693
2.12k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
2.04k
    {
684
2.04k
        if constexpr (std::is_const_v<T>) {
685
2.04k
            return static_cast<T*>(s.m_cp);
686
2.04k
        }
687
2.04k
        else if constexpr (std::is_object_v<T>) {
688
2.04k
            return static_cast<T*>(s.m_p);
689
2.04k
        }
690
2.04k
        else {
691
2.04k
            return reinterpret_cast<T*>(s.m_fp);
692
2.04k
        }
693
2.04k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
168k
    {
684
168k
        if constexpr (std::is_const_v<T>) {
685
168k
            return static_cast<T*>(s.m_cp);
686
168k
        }
687
168k
        else if constexpr (std::is_object_v<T>) {
688
168k
            return static_cast<T*>(s.m_p);
689
168k
        }
690
168k
        else {
691
168k
            return reinterpret_cast<T*>(s.m_fp);
692
168k
        }
693
168k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlcE_EEDaNS3_7storageE
Line
Count
Source
683
24.3k
    {
684
24.3k
        if constexpr (std::is_const_v<T>) {
685
24.3k
            return static_cast<T*>(s.m_cp);
686
24.3k
        }
687
24.3k
        else if constexpr (std::is_object_v<T>) {
688
24.3k
            return static_cast<T*>(s.m_p);
689
24.3k
        }
690
24.3k
        else {
691
24.3k
            return reinterpret_cast<T*>(s.m_fp);
692
24.3k
        }
693
24.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
6.59M
    {
684
6.59M
        if constexpr (std::is_const_v<T>) {
685
6.59M
            return static_cast<T*>(s.m_cp);
686
6.59M
        }
687
6.59M
        else if constexpr (std::is_object_v<T>) {
688
6.59M
            return static_cast<T*>(s.m_p);
689
6.59M
        }
690
6.59M
        else {
691
6.59M
            return reinterpret_cast<T*>(s.m_fp);
692
6.59M
        }
693
6.59M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
836k
    {
684
836k
        if constexpr (std::is_const_v<T>) {
685
836k
            return static_cast<T*>(s.m_cp);
686
836k
        }
687
836k
        else if constexpr (std::is_object_v<T>) {
688
836k
            return static_cast<T*>(s.m_p);
689
836k
        }
690
836k
        else {
691
836k
            return reinterpret_cast<T*>(s.m_fp);
692
836k
        }
693
836k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
20.8M
    {
684
20.8M
        if constexpr (std::is_const_v<T>) {
685
20.8M
            return static_cast<T*>(s.m_cp);
686
20.8M
        }
687
20.8M
        else if constexpr (std::is_object_v<T>) {
688
20.8M
            return static_cast<T*>(s.m_p);
689
20.8M
        }
690
20.8M
        else {
691
20.8M
            return reinterpret_cast<T*>(s.m_fp);
692
20.8M
        }
693
20.8M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
430k
    {
684
430k
        if constexpr (std::is_const_v<T>) {
685
430k
            return static_cast<T*>(s.m_cp);
686
430k
        }
687
430k
        else if constexpr (std::is_object_v<T>) {
688
430k
            return static_cast<T*>(s.m_p);
689
430k
        }
690
430k
        else {
691
430k
            return reinterpret_cast<T*>(s.m_fp);
692
430k
        }
693
430k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
6
    {
684
6
        if constexpr (std::is_const_v<T>) {
685
6
            return static_cast<T*>(s.m_cp);
686
6
        }
687
6
        else if constexpr (std::is_object_v<T>) {
688
6
            return static_cast<T*>(s.m_p);
689
6
        }
690
6
        else {
691
6
            return reinterpret_cast<T*>(s.m_fp);
692
6
        }
693
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
264
    {
684
264
        if constexpr (std::is_const_v<T>) {
685
264
            return static_cast<T*>(s.m_cp);
686
264
        }
687
264
        else if constexpr (std::is_object_v<T>) {
688
264
            return static_cast<T*>(s.m_p);
689
264
        }
690
264
        else {
691
264
            return reinterpret_cast<T*>(s.m_fp);
692
264
        }
693
264
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
160k
    {
684
160k
        if constexpr (std::is_const_v<T>) {
685
160k
            return static_cast<T*>(s.m_cp);
686
160k
        }
687
160k
        else if constexpr (std::is_object_v<T>) {
688
160k
            return static_cast<T*>(s.m_p);
689
160k
        }
690
160k
        else {
691
160k
            return reinterpret_cast<T*>(s.m_fp);
692
160k
        }
693
160k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlcE_EEDaNS3_7storageE
Line
Count
Source
683
23.7k
    {
684
23.7k
        if constexpr (std::is_const_v<T>) {
685
23.7k
            return static_cast<T*>(s.m_cp);
686
23.7k
        }
687
23.7k
        else if constexpr (std::is_object_v<T>) {
688
23.7k
            return static_cast<T*>(s.m_p);
689
23.7k
        }
690
23.7k
        else {
691
23.7k
            return reinterpret_cast<T*>(s.m_fp);
692
23.7k
        }
693
23.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
258k
    {
684
258k
        if constexpr (std::is_const_v<T>) {
685
258k
            return static_cast<T*>(s.m_cp);
686
258k
        }
687
258k
        else if constexpr (std::is_object_v<T>) {
688
258k
            return static_cast<T*>(s.m_p);
689
258k
        }
690
258k
        else {
691
258k
            return reinterpret_cast<T*>(s.m_fp);
692
258k
        }
693
258k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
7.92M
    {
684
7.92M
        if constexpr (std::is_const_v<T>) {
685
7.92M
            return static_cast<T*>(s.m_cp);
686
7.92M
        }
687
7.92M
        else if constexpr (std::is_object_v<T>) {
688
7.92M
            return static_cast<T*>(s.m_p);
689
7.92M
        }
690
7.92M
        else {
691
7.92M
            return reinterpret_cast<T*>(s.m_fp);
692
7.92M
        }
693
7.92M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
413k
    {
684
413k
        if constexpr (std::is_const_v<T>) {
685
413k
            return static_cast<T*>(s.m_cp);
686
413k
        }
687
413k
        else if constexpr (std::is_object_v<T>) {
688
413k
            return static_cast<T*>(s.m_p);
689
413k
        }
690
413k
        else {
691
413k
            return reinterpret_cast<T*>(s.m_fp);
692
413k
        }
693
413k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
185k
    {
684
185k
        if constexpr (std::is_const_v<T>) {
685
185k
            return static_cast<T*>(s.m_cp);
686
185k
        }
687
185k
        else if constexpr (std::is_object_v<T>) {
688
185k
            return static_cast<T*>(s.m_p);
689
185k
        }
690
185k
        else {
691
185k
            return reinterpret_cast<T*>(s.m_fp);
692
185k
        }
693
185k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
454k
    {
684
454k
        if constexpr (std::is_const_v<T>) {
685
454k
            return static_cast<T*>(s.m_cp);
686
454k
        }
687
454k
        else if constexpr (std::is_object_v<T>) {
688
454k
            return static_cast<T*>(s.m_p);
689
454k
        }
690
454k
        else {
691
454k
            return reinterpret_cast<T*>(s.m_fp);
692
454k
        }
693
454k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
8
    {
684
8
        if constexpr (std::is_const_v<T>) {
685
8
            return static_cast<T*>(s.m_cp);
686
8
        }
687
8
        else if constexpr (std::is_object_v<T>) {
688
8
            return static_cast<T*>(s.m_p);
689
8
        }
690
8
        else {
691
8
            return reinterpret_cast<T*>(s.m_fp);
692
8
        }
693
8
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
262
    {
684
262
        if constexpr (std::is_const_v<T>) {
685
262
            return static_cast<T*>(s.m_cp);
686
262
        }
687
262
        else if constexpr (std::is_object_v<T>) {
688
262
            return static_cast<T*>(s.m_p);
689
262
        }
690
262
        else {
691
262
            return reinterpret_cast<T*>(s.m_fp);
692
262
        }
693
262
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
177k
    {
684
177k
        if constexpr (std::is_const_v<T>) {
685
177k
            return static_cast<T*>(s.m_cp);
686
177k
        }
687
177k
        else if constexpr (std::is_object_v<T>) {
688
177k
            return static_cast<T*>(s.m_p);
689
177k
        }
690
177k
        else {
691
177k
            return reinterpret_cast<T*>(s.m_fp);
692
177k
        }
693
177k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
435k
    {
684
435k
        if constexpr (std::is_const_v<T>) {
685
435k
            return static_cast<T*>(s.m_cp);
686
435k
        }
687
435k
        else if constexpr (std::is_object_v<T>) {
688
435k
            return static_cast<T*>(s.m_p);
689
435k
        }
690
435k
        else {
691
435k
            return reinterpret_cast<T*>(s.m_fp);
692
435k
        }
693
435k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
189k
    {
684
189k
        if constexpr (std::is_const_v<T>) {
685
189k
            return static_cast<T*>(s.m_cp);
686
189k
        }
687
189k
        else if constexpr (std::is_object_v<T>) {
688
189k
            return static_cast<T*>(s.m_p);
689
189k
        }
690
189k
        else {
691
189k
            return reinterpret_cast<T*>(s.m_fp);
692
189k
        }
693
189k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
458k
    {
684
458k
        if constexpr (std::is_const_v<T>) {
685
458k
            return static_cast<T*>(s.m_cp);
686
458k
        }
687
458k
        else if constexpr (std::is_object_v<T>) {
688
458k
            return static_cast<T*>(s.m_p);
689
458k
        }
690
458k
        else {
691
458k
            return reinterpret_cast<T*>(s.m_fp);
692
458k
        }
693
458k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
180k
    {
684
180k
        if constexpr (std::is_const_v<T>) {
685
180k
            return static_cast<T*>(s.m_cp);
686
180k
        }
687
180k
        else if constexpr (std::is_object_v<T>) {
688
180k
            return static_cast<T*>(s.m_p);
689
180k
        }
690
180k
        else {
691
180k
            return reinterpret_cast<T*>(s.m_fp);
692
180k
        }
693
180k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
438k
    {
684
438k
        if constexpr (std::is_const_v<T>) {
685
438k
            return static_cast<T*>(s.m_cp);
686
438k
        }
687
438k
        else if constexpr (std::is_object_v<T>) {
688
438k
            return static_cast<T*>(s.m_p);
689
438k
        }
690
438k
        else {
691
438k
            return reinterpret_cast<T*>(s.m_fp);
692
438k
        }
693
438k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
1.15M
    {
684
1.15M
        if constexpr (std::is_const_v<T>) {
685
1.15M
            return static_cast<T*>(s.m_cp);
686
1.15M
        }
687
1.15M
        else if constexpr (std::is_object_v<T>) {
688
1.15M
            return static_cast<T*>(s.m_p);
689
1.15M
        }
690
1.15M
        else {
691
1.15M
            return reinterpret_cast<T*>(s.m_fp);
692
1.15M
        }
693
1.15M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
6.43k
    {
684
6.43k
        if constexpr (std::is_const_v<T>) {
685
6.43k
            return static_cast<T*>(s.m_cp);
686
6.43k
        }
687
6.43k
        else if constexpr (std::is_object_v<T>) {
688
6.43k
            return static_cast<T*>(s.m_p);
689
6.43k
        }
690
6.43k
        else {
691
6.43k
            return reinterpret_cast<T*>(s.m_fp);
692
6.43k
        }
693
6.43k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
12.3k
    {
684
12.3k
        if constexpr (std::is_const_v<T>) {
685
12.3k
            return static_cast<T*>(s.m_cp);
686
12.3k
        }
687
12.3k
        else if constexpr (std::is_object_v<T>) {
688
12.3k
            return static_cast<T*>(s.m_p);
689
12.3k
        }
690
12.3k
        else {
691
12.3k
            return reinterpret_cast<T*>(s.m_fp);
692
12.3k
        }
693
12.3k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
788
    {
684
788
        if constexpr (std::is_const_v<T>) {
685
788
            return static_cast<T*>(s.m_cp);
686
788
        }
687
788
        else if constexpr (std::is_object_v<T>) {
688
788
            return static_cast<T*>(s.m_p);
689
788
        }
690
788
        else {
691
788
            return reinterpret_cast<T*>(s.m_fp);
692
788
        }
693
788
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
36.8k
    {
684
36.8k
        if constexpr (std::is_const_v<T>) {
685
36.8k
            return static_cast<T*>(s.m_cp);
686
36.8k
        }
687
36.8k
        else if constexpr (std::is_object_v<T>) {
688
36.8k
            return static_cast<T*>(s.m_p);
689
36.8k
        }
690
36.8k
        else {
691
36.8k
            return reinterpret_cast<T*>(s.m_fp);
692
36.8k
        }
693
36.8k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
5.55k
    {
684
5.55k
        if constexpr (std::is_const_v<T>) {
685
5.55k
            return static_cast<T*>(s.m_cp);
686
5.55k
        }
687
5.55k
        else if constexpr (std::is_object_v<T>) {
688
5.55k
            return static_cast<T*>(s.m_p);
689
5.55k
        }
690
5.55k
        else {
691
5.55k
            return reinterpret_cast<T*>(s.m_fp);
692
5.55k
        }
693
5.55k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
454
    {
684
454
        if constexpr (std::is_const_v<T>) {
685
454
            return static_cast<T*>(s.m_cp);
686
454
        }
687
454
        else if constexpr (std::is_object_v<T>) {
688
454
            return static_cast<T*>(s.m_p);
689
454
        }
690
454
        else {
691
454
            return reinterpret_cast<T*>(s.m_fp);
692
454
        }
693
454
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
395k
    {
684
395k
        if constexpr (std::is_const_v<T>) {
685
395k
            return static_cast<T*>(s.m_cp);
686
395k
        }
687
395k
        else if constexpr (std::is_object_v<T>) {
688
395k
            return static_cast<T*>(s.m_p);
689
395k
        }
690
395k
        else {
691
395k
            return reinterpret_cast<T*>(s.m_fp);
692
395k
        }
693
395k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
16.9k
    {
684
16.9k
        if constexpr (std::is_const_v<T>) {
685
16.9k
            return static_cast<T*>(s.m_cp);
686
16.9k
        }
687
16.9k
        else if constexpr (std::is_object_v<T>) {
688
16.9k
            return static_cast<T*>(s.m_p);
689
16.9k
        }
690
16.9k
        else {
691
16.9k
            return reinterpret_cast<T*>(s.m_fp);
692
16.9k
        }
693
16.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
788
    {
684
788
        if constexpr (std::is_const_v<T>) {
685
788
            return static_cast<T*>(s.m_cp);
686
788
        }
687
788
        else if constexpr (std::is_object_v<T>) {
688
788
            return static_cast<T*>(s.m_p);
689
788
        }
690
788
        else {
691
788
            return reinterpret_cast<T*>(s.m_fp);
692
788
        }
693
788
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
454
    {
684
454
        if constexpr (std::is_const_v<T>) {
685
454
            return static_cast<T*>(s.m_cp);
686
454
        }
687
454
        else if constexpr (std::is_object_v<T>) {
688
454
            return static_cast<T*>(s.m_p);
689
454
        }
690
454
        else {
691
454
            return reinterpret_cast<T*>(s.m_fp);
692
454
        }
693
454
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
788
    {
684
788
        if constexpr (std::is_const_v<T>) {
685
788
            return static_cast<T*>(s.m_cp);
686
788
        }
687
788
        else if constexpr (std::is_object_v<T>) {
688
788
            return static_cast<T*>(s.m_p);
689
788
        }
690
788
        else {
691
788
            return reinterpret_cast<T*>(s.m_fp);
692
788
        }
693
788
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
454
    {
684
454
        if constexpr (std::is_const_v<T>) {
685
454
            return static_cast<T*>(s.m_cp);
686
454
        }
687
454
        else if constexpr (std::is_object_v<T>) {
688
454
            return static_cast<T*>(s.m_p);
689
454
        }
690
454
        else {
691
454
            return reinterpret_cast<T*>(s.m_fp);
692
454
        }
693
454
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
9.52M
    {
684
9.52M
        if constexpr (std::is_const_v<T>) {
685
9.52M
            return static_cast<T*>(s.m_cp);
686
9.52M
        }
687
9.52M
        else if constexpr (std::is_object_v<T>) {
688
9.52M
            return static_cast<T*>(s.m_p);
689
9.52M
        }
690
9.52M
        else {
691
9.52M
            return reinterpret_cast<T*>(s.m_fp);
692
9.52M
        }
693
9.52M
    }
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
1.11M
    {
684
1.11M
        if constexpr (std::is_const_v<T>) {
685
1.11M
            return static_cast<T*>(s.m_cp);
686
1.11M
        }
687
1.11M
        else if constexpr (std::is_object_v<T>) {
688
1.11M
            return static_cast<T*>(s.m_p);
689
1.11M
        }
690
1.11M
        else {
691
1.11M
            return reinterpret_cast<T*>(s.m_fp);
692
1.11M
        }
693
1.11M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
314k
    {
684
314k
        if constexpr (std::is_const_v<T>) {
685
314k
            return static_cast<T*>(s.m_cp);
686
314k
        }
687
314k
        else if constexpr (std::is_object_v<T>) {
688
314k
            return static_cast<T*>(s.m_p);
689
314k
        }
690
314k
        else {
691
314k
            return reinterpret_cast<T*>(s.m_fp);
692
314k
        }
693
314k
    }
auto scn::v3::impl::fnref_detail::base::get<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}>(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
5.47k
    {
684
5.47k
        if constexpr (std::is_const_v<T>) {
685
5.47k
            return static_cast<T*>(s.m_cp);
686
5.47k
        }
687
5.47k
        else if constexpr (std::is_object_v<T>) {
688
5.47k
            return static_cast<T*>(s.m_p);
689
5.47k
        }
690
5.47k
        else {
691
5.47k
            return reinterpret_cast<T*>(s.m_fp);
692
5.47k
        }
693
5.47k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
3.07k
    {
684
3.07k
        if constexpr (std::is_const_v<T>) {
685
3.07k
            return static_cast<T*>(s.m_cp);
686
3.07k
        }
687
3.07k
        else if constexpr (std::is_object_v<T>) {
688
3.07k
            return static_cast<T*>(s.m_p);
689
3.07k
        }
690
3.07k
        else {
691
3.07k
            return reinterpret_cast<T*>(s.m_fp);
692
3.07k
        }
693
3.07k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
352
    {
684
352
        if constexpr (std::is_const_v<T>) {
685
352
            return static_cast<T*>(s.m_cp);
686
352
        }
687
352
        else if constexpr (std::is_object_v<T>) {
688
352
            return static_cast<T*>(s.m_p);
689
352
        }
690
352
        else {
691
352
            return reinterpret_cast<T*>(s.m_fp);
692
352
        }
693
352
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
432
    {
684
432
        if constexpr (std::is_const_v<T>) {
685
432
            return static_cast<T*>(s.m_cp);
686
432
        }
687
432
        else if constexpr (std::is_object_v<T>) {
688
432
            return static_cast<T*>(s.m_p);
689
432
        }
690
432
        else {
691
432
            return reinterpret_cast<T*>(s.m_fp);
692
432
        }
693
432
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
70
    {
684
70
        if constexpr (std::is_const_v<T>) {
685
70
            return static_cast<T*>(s.m_cp);
686
70
        }
687
70
        else if constexpr (std::is_object_v<T>) {
688
70
            return static_cast<T*>(s.m_p);
689
70
        }
690
70
        else {
691
70
            return reinterpret_cast<T*>(s.m_fp);
692
70
        }
693
70
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
145M
    {
684
145M
        if constexpr (std::is_const_v<T>) {
685
145M
            return static_cast<T*>(s.m_cp);
686
145M
        }
687
145M
        else if constexpr (std::is_object_v<T>) {
688
145M
            return static_cast<T*>(s.m_p);
689
145M
        }
690
145M
        else {
691
145M
            return reinterpret_cast<T*>(s.m_fp);
692
145M
        }
693
145M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
18.9k
    {
684
18.9k
        if constexpr (std::is_const_v<T>) {
685
18.9k
            return static_cast<T*>(s.m_cp);
686
18.9k
        }
687
18.9k
        else if constexpr (std::is_object_v<T>) {
688
18.9k
            return static_cast<T*>(s.m_p);
689
18.9k
        }
690
18.9k
        else {
691
18.9k
            return reinterpret_cast<T*>(s.m_fp);
692
18.9k
        }
693
18.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
94.1k
    {
684
94.1k
        if constexpr (std::is_const_v<T>) {
685
94.1k
            return static_cast<T*>(s.m_cp);
686
94.1k
        }
687
94.1k
        else if constexpr (std::is_object_v<T>) {
688
94.1k
            return static_cast<T*>(s.m_p);
689
94.1k
        }
690
94.1k
        else {
691
94.1k
            return reinterpret_cast<T*>(s.m_fp);
692
94.1k
        }
693
94.1k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
8.04k
    {
684
8.04k
        if constexpr (std::is_const_v<T>) {
685
8.04k
            return static_cast<T*>(s.m_cp);
686
8.04k
        }
687
8.04k
        else if constexpr (std::is_object_v<T>) {
688
8.04k
            return static_cast<T*>(s.m_p);
689
8.04k
        }
690
8.04k
        else {
691
8.04k
            return reinterpret_cast<T*>(s.m_fp);
692
8.04k
        }
693
8.04k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
454k
    {
684
454k
        if constexpr (std::is_const_v<T>) {
685
454k
            return static_cast<T*>(s.m_cp);
686
454k
        }
687
454k
        else if constexpr (std::is_object_v<T>) {
688
454k
            return static_cast<T*>(s.m_p);
689
454k
        }
690
454k
        else {
691
454k
            return reinterpret_cast<T*>(s.m_fp);
692
454k
        }
693
454k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
70.9k
    {
684
70.9k
        if constexpr (std::is_const_v<T>) {
685
70.9k
            return static_cast<T*>(s.m_cp);
686
70.9k
        }
687
70.9k
        else if constexpr (std::is_object_v<T>) {
688
70.9k
            return static_cast<T*>(s.m_p);
689
70.9k
        }
690
70.9k
        else {
691
70.9k
            return reinterpret_cast<T*>(s.m_fp);
692
70.9k
        }
693
70.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
10
    {
684
10
        if constexpr (std::is_const_v<T>) {
685
10
            return static_cast<T*>(s.m_cp);
686
10
        }
687
10
        else if constexpr (std::is_object_v<T>) {
688
10
            return static_cast<T*>(s.m_p);
689
10
        }
690
10
        else {
691
10
            return reinterpret_cast<T*>(s.m_fp);
692
10
        }
693
10
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
114
    {
684
114
        if constexpr (std::is_const_v<T>) {
685
114
            return static_cast<T*>(s.m_cp);
686
114
        }
687
114
        else if constexpr (std::is_object_v<T>) {
688
114
            return static_cast<T*>(s.m_p);
689
114
        }
690
114
        else {
691
114
            return reinterpret_cast<T*>(s.m_fp);
692
114
        }
693
114
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
18.9k
    {
684
18.9k
        if constexpr (std::is_const_v<T>) {
685
18.9k
            return static_cast<T*>(s.m_cp);
686
18.9k
        }
687
18.9k
        else if constexpr (std::is_object_v<T>) {
688
18.9k
            return static_cast<T*>(s.m_p);
689
18.9k
        }
690
18.9k
        else {
691
18.9k
            return reinterpret_cast<T*>(s.m_fp);
692
18.9k
        }
693
18.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
3.08k
    {
684
3.08k
        if constexpr (std::is_const_v<T>) {
685
3.08k
            return static_cast<T*>(s.m_cp);
686
3.08k
        }
687
3.08k
        else if constexpr (std::is_object_v<T>) {
688
3.08k
            return static_cast<T*>(s.m_p);
689
3.08k
        }
690
3.08k
        else {
691
3.08k
            return reinterpret_cast<T*>(s.m_fp);
692
3.08k
        }
693
3.08k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
227k
    {
684
227k
        if constexpr (std::is_const_v<T>) {
685
227k
            return static_cast<T*>(s.m_cp);
686
227k
        }
687
227k
        else if constexpr (std::is_object_v<T>) {
688
227k
            return static_cast<T*>(s.m_p);
689
227k
        }
690
227k
        else {
691
227k
            return reinterpret_cast<T*>(s.m_fp);
692
227k
        }
693
227k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
70.9k
    {
684
70.9k
        if constexpr (std::is_const_v<T>) {
685
70.9k
            return static_cast<T*>(s.m_cp);
686
70.9k
        }
687
70.9k
        else if constexpr (std::is_object_v<T>) {
688
70.9k
            return static_cast<T*>(s.m_p);
689
70.9k
        }
690
70.9k
        else {
691
70.9k
            return reinterpret_cast<T*>(s.m_fp);
692
70.9k
        }
693
70.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
19.0k
    {
684
19.0k
        if constexpr (std::is_const_v<T>) {
685
19.0k
            return static_cast<T*>(s.m_cp);
686
19.0k
        }
687
19.0k
        else if constexpr (std::is_object_v<T>) {
688
19.0k
            return static_cast<T*>(s.m_p);
689
19.0k
        }
690
19.0k
        else {
691
19.0k
            return reinterpret_cast<T*>(s.m_fp);
692
19.0k
        }
693
19.0k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
70.9k
    {
684
70.9k
        if constexpr (std::is_const_v<T>) {
685
70.9k
            return static_cast<T*>(s.m_cp);
686
70.9k
        }
687
70.9k
        else if constexpr (std::is_object_v<T>) {
688
70.9k
            return static_cast<T*>(s.m_p);
689
70.9k
        }
690
70.9k
        else {
691
70.9k
            return reinterpret_cast<T*>(s.m_fp);
692
70.9k
        }
693
70.9k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
6
    {
684
6
        if constexpr (std::is_const_v<T>) {
685
6
            return static_cast<T*>(s.m_cp);
686
6
        }
687
6
        else if constexpr (std::is_object_v<T>) {
688
6
            return static_cast<T*>(s.m_p);
689
6
        }
690
6
        else {
691
6
            return reinterpret_cast<T*>(s.m_fp);
692
6
        }
693
6
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
118
    {
684
118
        if constexpr (std::is_const_v<T>) {
685
118
            return static_cast<T*>(s.m_cp);
686
118
        }
687
118
        else if constexpr (std::is_object_v<T>) {
688
118
            return static_cast<T*>(s.m_p);
689
118
        }
690
118
        else {
691
118
            return reinterpret_cast<T*>(s.m_fp);
692
118
        }
693
118
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
19.0k
    {
684
19.0k
        if constexpr (std::is_const_v<T>) {
685
19.0k
            return static_cast<T*>(s.m_cp);
686
19.0k
        }
687
19.0k
        else if constexpr (std::is_object_v<T>) {
688
19.0k
            return static_cast<T*>(s.m_p);
689
19.0k
        }
690
19.0k
        else {
691
19.0k
            return reinterpret_cast<T*>(s.m_fp);
692
19.0k
        }
693
19.0k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
71.3k
    {
684
71.3k
        if constexpr (std::is_const_v<T>) {
685
71.3k
            return static_cast<T*>(s.m_cp);
686
71.3k
        }
687
71.3k
        else if constexpr (std::is_object_v<T>) {
688
71.3k
            return static_cast<T*>(s.m_p);
689
71.3k
        }
690
71.3k
        else {
691
71.3k
            return reinterpret_cast<T*>(s.m_fp);
692
71.3k
        }
693
71.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
19.0k
    {
684
19.0k
        if constexpr (std::is_const_v<T>) {
685
19.0k
            return static_cast<T*>(s.m_cp);
686
19.0k
        }
687
19.0k
        else if constexpr (std::is_object_v<T>) {
688
19.0k
            return static_cast<T*>(s.m_p);
689
19.0k
        }
690
19.0k
        else {
691
19.0k
            return reinterpret_cast<T*>(s.m_fp);
692
19.0k
        }
693
19.0k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
71.1k
    {
684
71.1k
        if constexpr (std::is_const_v<T>) {
685
71.1k
            return static_cast<T*>(s.m_cp);
686
71.1k
        }
687
71.1k
        else if constexpr (std::is_object_v<T>) {
688
71.1k
            return static_cast<T*>(s.m_p);
689
71.1k
        }
690
71.1k
        else {
691
71.1k
            return reinterpret_cast<T*>(s.m_fp);
692
71.1k
        }
693
71.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
19.1k
    {
684
19.1k
        if constexpr (std::is_const_v<T>) {
685
19.1k
            return static_cast<T*>(s.m_cp);
686
19.1k
        }
687
19.1k
        else if constexpr (std::is_object_v<T>) {
688
19.1k
            return static_cast<T*>(s.m_p);
689
19.1k
        }
690
19.1k
        else {
691
19.1k
            return reinterpret_cast<T*>(s.m_fp);
692
19.1k
        }
693
19.1k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
71.1k
    {
684
71.1k
        if constexpr (std::is_const_v<T>) {
685
71.1k
            return static_cast<T*>(s.m_cp);
686
71.1k
        }
687
71.1k
        else if constexpr (std::is_object_v<T>) {
688
71.1k
            return static_cast<T*>(s.m_p);
689
71.1k
        }
690
71.1k
        else {
691
71.1k
            return reinterpret_cast<T*>(s.m_fp);
692
71.1k
        }
693
71.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
211M
    {
684
211M
        if constexpr (std::is_const_v<T>) {
685
211M
            return static_cast<T*>(s.m_cp);
686
211M
        }
687
211M
        else if constexpr (std::is_object_v<T>) {
688
211M
            return static_cast<T*>(s.m_p);
689
211M
        }
690
211M
        else {
691
211M
            return reinterpret_cast<T*>(s.m_fp);
692
211M
        }
693
211M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
3.50k
    {
684
3.50k
        if constexpr (std::is_const_v<T>) {
685
3.50k
            return static_cast<T*>(s.m_cp);
686
3.50k
        }
687
3.50k
        else if constexpr (std::is_object_v<T>) {
688
3.50k
            return static_cast<T*>(s.m_p);
689
3.50k
        }
690
3.50k
        else {
691
3.50k
            return reinterpret_cast<T*>(s.m_fp);
692
3.50k
        }
693
3.50k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
5.98k
    {
684
5.98k
        if constexpr (std::is_const_v<T>) {
685
5.98k
            return static_cast<T*>(s.m_cp);
686
5.98k
        }
687
5.98k
        else if constexpr (std::is_object_v<T>) {
688
5.98k
            return static_cast<T*>(s.m_p);
689
5.98k
        }
690
5.98k
        else {
691
5.98k
            return reinterpret_cast<T*>(s.m_fp);
692
5.98k
        }
693
5.98k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
360
    {
684
360
        if constexpr (std::is_const_v<T>) {
685
360
            return static_cast<T*>(s.m_cp);
686
360
        }
687
360
        else if constexpr (std::is_object_v<T>) {
688
360
            return static_cast<T*>(s.m_p);
689
360
        }
690
360
        else {
691
360
            return reinterpret_cast<T*>(s.m_fp);
692
360
        }
693
360
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
422M
    {
684
422M
        if constexpr (std::is_const_v<T>) {
685
422M
            return static_cast<T*>(s.m_cp);
686
422M
        }
687
422M
        else if constexpr (std::is_object_v<T>) {
688
422M
            return static_cast<T*>(s.m_p);
689
422M
        }
690
422M
        else {
691
422M
            return reinterpret_cast<T*>(s.m_fp);
692
422M
        }
693
422M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
322
    {
684
322
        if constexpr (std::is_const_v<T>) {
685
322
            return static_cast<T*>(s.m_cp);
686
322
        }
687
322
        else if constexpr (std::is_object_v<T>) {
688
322
            return static_cast<T*>(s.m_p);
689
322
        }
690
322
        else {
691
322
            return reinterpret_cast<T*>(s.m_fp);
692
322
        }
693
322
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
72
    {
684
72
        if constexpr (std::is_const_v<T>) {
685
72
            return static_cast<T*>(s.m_cp);
686
72
        }
687
72
        else if constexpr (std::is_object_v<T>) {
688
72
            return static_cast<T*>(s.m_p);
689
72
        }
690
72
        else {
691
72
            return reinterpret_cast<T*>(s.m_fp);
692
72
        }
693
72
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
7.03k
    {
684
7.03k
        if constexpr (std::is_const_v<T>) {
685
7.03k
            return static_cast<T*>(s.m_cp);
686
7.03k
        }
687
7.03k
        else if constexpr (std::is_object_v<T>) {
688
7.03k
            return static_cast<T*>(s.m_p);
689
7.03k
        }
690
7.03k
        else {
691
7.03k
            return reinterpret_cast<T*>(s.m_fp);
692
7.03k
        }
693
7.03k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
360
    {
684
360
        if constexpr (std::is_const_v<T>) {
685
360
            return static_cast<T*>(s.m_cp);
686
360
        }
687
360
        else if constexpr (std::is_object_v<T>) {
688
360
            return static_cast<T*>(s.m_p);
689
360
        }
690
360
        else {
691
360
            return reinterpret_cast<T*>(s.m_fp);
692
360
        }
693
360
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
322
    {
684
322
        if constexpr (std::is_const_v<T>) {
685
322
            return static_cast<T*>(s.m_cp);
686
322
        }
687
322
        else if constexpr (std::is_object_v<T>) {
688
322
            return static_cast<T*>(s.m_p);
689
322
        }
690
322
        else {
691
322
            return reinterpret_cast<T*>(s.m_fp);
692
322
        }
693
322
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
360
    {
684
360
        if constexpr (std::is_const_v<T>) {
685
360
            return static_cast<T*>(s.m_cp);
686
360
        }
687
360
        else if constexpr (std::is_object_v<T>) {
688
360
            return static_cast<T*>(s.m_p);
689
360
        }
690
360
        else {
691
360
            return reinterpret_cast<T*>(s.m_fp);
692
360
        }
693
360
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
322
    {
684
322
        if constexpr (std::is_const_v<T>) {
685
322
            return static_cast<T*>(s.m_cp);
686
322
        }
687
322
        else if constexpr (std::is_object_v<T>) {
688
322
            return static_cast<T*>(s.m_p);
689
322
        }
690
322
        else {
691
322
            return reinterpret_cast<T*>(s.m_fp);
692
322
        }
693
322
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
73.1M
    {
684
73.1M
        if constexpr (std::is_const_v<T>) {
685
73.1M
            return static_cast<T*>(s.m_cp);
686
73.1M
        }
687
73.1M
        else if constexpr (std::is_object_v<T>) {
688
73.1M
            return static_cast<T*>(s.m_p);
689
73.1M
        }
690
73.1M
        else {
691
73.1M
            return reinterpret_cast<T*>(s.m_fp);
692
73.1M
        }
693
73.1M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
173k
    {
684
173k
        if constexpr (std::is_const_v<T>) {
685
173k
            return static_cast<T*>(s.m_cp);
686
173k
        }
687
173k
        else if constexpr (std::is_object_v<T>) {
688
173k
            return static_cast<T*>(s.m_p);
689
173k
        }
690
173k
        else {
691
173k
            return reinterpret_cast<T*>(s.m_fp);
692
173k
        }
693
173k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
241k
    {
684
241k
        if constexpr (std::is_const_v<T>) {
685
241k
            return static_cast<T*>(s.m_cp);
686
241k
        }
687
241k
        else if constexpr (std::is_object_v<T>) {
688
241k
            return static_cast<T*>(s.m_p);
689
241k
        }
690
241k
        else {
691
241k
            return reinterpret_cast<T*>(s.m_fp);
692
241k
        }
693
241k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
267k
    {
684
267k
        if constexpr (std::is_const_v<T>) {
685
267k
            return static_cast<T*>(s.m_cp);
686
267k
        }
687
267k
        else if constexpr (std::is_object_v<T>) {
688
267k
            return static_cast<T*>(s.m_p);
689
267k
        }
690
267k
        else {
691
267k
            return reinterpret_cast<T*>(s.m_fp);
692
267k
        }
693
267k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
271k
    {
684
271k
        if constexpr (std::is_const_v<T>) {
685
271k
            return static_cast<T*>(s.m_cp);
686
271k
        }
687
271k
        else if constexpr (std::is_object_v<T>) {
688
271k
            return static_cast<T*>(s.m_p);
689
271k
        }
690
271k
        else {
691
271k
            return reinterpret_cast<T*>(s.m_fp);
692
271k
        }
693
271k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
229k
    {
684
229k
        if constexpr (std::is_const_v<T>) {
685
229k
            return static_cast<T*>(s.m_cp);
686
229k
        }
687
229k
        else if constexpr (std::is_object_v<T>) {
688
229k
            return static_cast<T*>(s.m_p);
689
229k
        }
690
229k
        else {
691
229k
            return reinterpret_cast<T*>(s.m_fp);
692
229k
        }
693
229k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
253k
    {
684
253k
        if constexpr (std::is_const_v<T>) {
685
253k
            return static_cast<T*>(s.m_cp);
686
253k
        }
687
253k
        else if constexpr (std::is_object_v<T>) {
688
253k
            return static_cast<T*>(s.m_p);
689
253k
        }
690
253k
        else {
691
253k
            return reinterpret_cast<T*>(s.m_fp);
692
253k
        }
693
253k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
256k
    {
684
256k
        if constexpr (std::is_const_v<T>) {
685
256k
            return static_cast<T*>(s.m_cp);
686
256k
        }
687
256k
        else if constexpr (std::is_object_v<T>) {
688
256k
            return static_cast<T*>(s.m_p);
689
256k
        }
690
256k
        else {
691
256k
            return reinterpret_cast<T*>(s.m_fp);
692
256k
        }
693
256k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
560
    {
684
560
        if constexpr (std::is_const_v<T>) {
685
560
            return static_cast<T*>(s.m_cp);
686
560
        }
687
560
        else if constexpr (std::is_object_v<T>) {
688
560
            return static_cast<T*>(s.m_p);
689
560
        }
690
560
        else {
691
560
            return reinterpret_cast<T*>(s.m_fp);
692
560
        }
693
560
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
2.80k
    {
684
2.80k
        if constexpr (std::is_const_v<T>) {
685
2.80k
            return static_cast<T*>(s.m_cp);
686
2.80k
        }
687
2.80k
        else if constexpr (std::is_object_v<T>) {
688
2.80k
            return static_cast<T*>(s.m_p);
689
2.80k
        }
690
2.80k
        else {
691
2.80k
            return reinterpret_cast<T*>(s.m_fp);
692
2.80k
        }
693
2.80k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
28.4k
    {
684
28.4k
        if constexpr (std::is_const_v<T>) {
685
28.4k
            return static_cast<T*>(s.m_cp);
686
28.4k
        }
687
28.4k
        else if constexpr (std::is_object_v<T>) {
688
28.4k
            return static_cast<T*>(s.m_p);
689
28.4k
        }
690
28.4k
        else {
691
28.4k
            return reinterpret_cast<T*>(s.m_fp);
692
28.4k
        }
693
28.4k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
29.0k
    {
684
29.0k
        if constexpr (std::is_const_v<T>) {
685
29.0k
            return static_cast<T*>(s.m_cp);
686
29.0k
        }
687
29.0k
        else if constexpr (std::is_object_v<T>) {
688
29.0k
            return static_cast<T*>(s.m_p);
689
29.0k
        }
690
29.0k
        else {
691
29.0k
            return reinterpret_cast<T*>(s.m_fp);
692
29.0k
        }
693
29.0k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
28.6k
    {
684
28.6k
        if constexpr (std::is_const_v<T>) {
685
28.6k
            return static_cast<T*>(s.m_cp);
686
28.6k
        }
687
28.6k
        else if constexpr (std::is_object_v<T>) {
688
28.6k
            return static_cast<T*>(s.m_p);
689
28.6k
        }
690
28.6k
        else {
691
28.6k
            return reinterpret_cast<T*>(s.m_fp);
692
28.6k
        }
693
28.6k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
540
    {
684
540
        if constexpr (std::is_const_v<T>) {
685
540
            return static_cast<T*>(s.m_cp);
686
540
        }
687
540
        else if constexpr (std::is_object_v<T>) {
688
540
            return static_cast<T*>(s.m_p);
689
540
        }
690
540
        else {
691
540
            return reinterpret_cast<T*>(s.m_fp);
692
540
        }
693
540
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
668
    {
684
668
        if constexpr (std::is_const_v<T>) {
685
668
            return static_cast<T*>(s.m_cp);
686
668
        }
687
668
        else if constexpr (std::is_object_v<T>) {
688
668
            return static_cast<T*>(s.m_p);
689
668
        }
690
668
        else {
691
668
            return reinterpret_cast<T*>(s.m_fp);
692
668
        }
693
668
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
28.4k
    {
684
28.4k
        if constexpr (std::is_const_v<T>) {
685
28.4k
            return static_cast<T*>(s.m_cp);
686
28.4k
        }
687
28.4k
        else if constexpr (std::is_object_v<T>) {
688
28.4k
            return static_cast<T*>(s.m_p);
689
28.4k
        }
690
28.4k
        else {
691
28.4k
            return reinterpret_cast<T*>(s.m_fp);
692
28.4k
        }
693
28.4k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
28.5k
    {
684
28.5k
        if constexpr (std::is_const_v<T>) {
685
28.5k
            return static_cast<T*>(s.m_cp);
686
28.5k
        }
687
28.5k
        else if constexpr (std::is_object_v<T>) {
688
28.5k
            return static_cast<T*>(s.m_p);
689
28.5k
        }
690
28.5k
        else {
691
28.5k
            return reinterpret_cast<T*>(s.m_fp);
692
28.5k
        }
693
28.5k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
28.6k
    {
684
28.6k
        if constexpr (std::is_const_v<T>) {
685
28.6k
            return static_cast<T*>(s.m_cp);
686
28.6k
        }
687
28.6k
        else if constexpr (std::is_object_v<T>) {
688
28.6k
            return static_cast<T*>(s.m_p);
689
28.6k
        }
690
28.6k
        else {
691
28.6k
            return reinterpret_cast<T*>(s.m_fp);
692
28.6k
        }
693
28.6k
    }
694
};
695
}  // namespace fnref_detail
696
697
template <typename Sig,
698
          typename = typename fnref_detail::qual_fn_sig<Sig>::function>
699
class function_ref;
700
701
template <typename Sig, typename R, typename... Args>
702
class function_ref<Sig, R(Args...)> : fnref_detail::base {
703
    using signature = fnref_detail::qual_fn_sig<Sig>;
704
705
    template <typename T>
706
    using cv = typename signature::template cv<T>;
707
    template <typename T>
708
    using cvref = cv<T>&;
709
    static constexpr bool noex = signature::is_noexcept;
710
711
    template <typename... T>
712
    static constexpr bool is_invocable_using =
713
        signature::template is_invocable_using<T...>;
714
715
    using fwd_t = R(storage, fnref_detail::param_t<Args>...) noexcept(noex);
716
717
public:
718
    template <typename F,
719
              std::enable_if_t<std::is_function_v<F> &&
720
                               is_invocable_using<F>>* = nullptr>
721
    /*implicit*/ function_ref(F* f) noexcept
722
        : m_fptr([](storage fn,
723
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
724
              if constexpr (std::is_void_v<R>) {
725
                  get<F>(fn)(static_cast<decltype(args)>(args)...);
726
              }
727
              else {
728
                  return get<F>(fn)(static_cast<decltype(args)>(args)...);
729
              }
730
          }),
731
          m_storage(f)
732
    {
733
        SCN_EXPECT(f != nullptr);
734
    }
735
736
    template <typename F,
737
              typename T = std::remove_reference_t<F>,
738
              std::enable_if_t<detail::is_not_self<F, function_ref> &&
739
                               !std::is_member_pointer_v<T> &&
740
                               is_invocable_using<cvref<T>>>* = nullptr>
741
    /*implicit*/ constexpr function_ref(F&& f) noexcept
742
        : m_fptr([](storage fn,
743
1.18G
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.18G
              cvref<T> obj = *get<T>(fn);
745
1.18G
              if constexpr (std::is_void_v<R>) {
746
1.18G
                  obj(static_cast<decltype(args)>(args)...);
747
1.18G
              }
748
1.18G
              else {
749
1.18G
                  return obj(static_cast<decltype(args)>(args)...);
750
1.18G
              }
751
1.18G
          }),
scn::v3::impl::function_ref<bool (char), bool (char)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, char) const
Line
Count
Source
743
43.0M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
43.0M
              cvref<T> obj = *get<T>(fn);
745
43.0M
              if constexpr (std::is_void_v<R>) {
746
43.0M
                  obj(static_cast<decltype(args)>(args)...);
747
43.0M
              }
748
43.0M
              else {
749
43.0M
                  return obj(static_cast<decltype(args)>(args)...);
750
43.0M
              }
751
43.0M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, char32_t) const
Line
Count
Source
743
228M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
228M
              cvref<T> obj = *get<T>(fn);
745
228M
              if constexpr (std::is_void_v<R>) {
746
228M
                  obj(static_cast<decltype(args)>(args)...);
747
228M
              }
748
228M
              else {
749
228M
                  return obj(static_cast<decltype(args)>(args)...);
750
228M
              }
751
228M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_LPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clESV_c
Line
Count
Source
743
6.49M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6.49M
              cvref<T> obj = *get<T>(fn);
745
6.49M
              if constexpr (std::is_void_v<R>) {
746
6.49M
                  obj(static_cast<decltype(args)>(args)...);
747
6.49M
              }
748
6.49M
              else {
749
6.49M
                  return obj(static_cast<decltype(args)>(args)...);
750
6.49M
              }
751
6.49M
          }),
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base, char32_t) const
Line
Count
Source
743
33.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
33.7k
              cvref<T> obj = *get<T>(fn);
745
33.7k
              if constexpr (std::is_void_v<R>) {
746
33.7k
                  obj(static_cast<decltype(args)>(args)...);
747
33.7k
              }
748
33.7k
              else {
749
33.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
33.7k
              }
751
33.7k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESR_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_LPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEcE_clESV_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
743
802
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
802
              cvref<T> obj = *get<T>(fn);
745
802
              if constexpr (std::is_void_v<R>) {
746
802
                  obj(static_cast<decltype(args)>(args)...);
747
802
              }
748
802
              else {
749
802
                  return obj(static_cast<decltype(args)>(args)...);
750
802
              }
751
802
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
2.12k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.12k
              cvref<T> obj = *get<T>(fn);
745
2.12k
              if constexpr (std::is_void_v<R>) {
746
2.12k
                  obj(static_cast<decltype(args)>(args)...);
747
2.12k
              }
748
2.12k
              else {
749
2.12k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.12k
              }
751
2.12k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
2.04k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.04k
              cvref<T> obj = *get<T>(fn);
745
2.04k
              if constexpr (std::is_void_v<R>) {
746
2.04k
                  obj(static_cast<decltype(args)>(args)...);
747
2.04k
              }
748
2.04k
              else {
749
2.04k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.04k
              }
751
2.04k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_LPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEcE_clES17_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
168k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
168k
              cvref<T> obj = *get<T>(fn);
745
168k
              if constexpr (std::is_void_v<R>) {
746
168k
                  obj(static_cast<decltype(args)>(args)...);
747
168k
              }
748
168k
              else {
749
168k
                  return obj(static_cast<decltype(args)>(args)...);
750
168k
              }
751
168k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
24.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
24.3k
              cvref<T> obj = *get<T>(fn);
745
24.3k
              if constexpr (std::is_void_v<R>) {
746
24.3k
                  obj(static_cast<decltype(args)>(args)...);
747
24.3k
              }
748
24.3k
              else {
749
24.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
24.3k
              }
751
24.3k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
6.59M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6.59M
              cvref<T> obj = *get<T>(fn);
745
6.59M
              if constexpr (std::is_void_v<R>) {
746
6.59M
                  obj(static_cast<decltype(args)>(args)...);
747
6.59M
              }
748
6.59M
              else {
749
6.59M
                  return obj(static_cast<decltype(args)>(args)...);
750
6.59M
              }
751
6.59M
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
836k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
836k
              cvref<T> obj = *get<T>(fn);
745
836k
              if constexpr (std::is_void_v<R>) {
746
836k
                  obj(static_cast<decltype(args)>(args)...);
747
836k
              }
748
836k
              else {
749
836k
                  return obj(static_cast<decltype(args)>(args)...);
750
836k
              }
751
836k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
20.8M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
20.8M
              cvref<T> obj = *get<T>(fn);
745
20.8M
              if constexpr (std::is_void_v<R>) {
746
20.8M
                  obj(static_cast<decltype(args)>(args)...);
747
20.8M
              }
748
20.8M
              else {
749
20.8M
                  return obj(static_cast<decltype(args)>(args)...);
750
20.8M
              }
751
20.8M
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
430k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
430k
              cvref<T> obj = *get<T>(fn);
745
430k
              if constexpr (std::is_void_v<R>) {
746
430k
                  obj(static_cast<decltype(args)>(args)...);
747
430k
              }
748
430k
              else {
749
430k
                  return obj(static_cast<decltype(args)>(args)...);
750
430k
              }
751
430k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Line
Count
Source
743
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6
              cvref<T> obj = *get<T>(fn);
745
6
              if constexpr (std::is_void_v<R>) {
746
6
                  obj(static_cast<decltype(args)>(args)...);
747
6
              }
748
6
              else {
749
6
                  return obj(static_cast<decltype(args)>(args)...);
750
6
              }
751
6
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_LPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Line
Count
Source
743
264
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
264
              cvref<T> obj = *get<T>(fn);
745
264
              if constexpr (std::is_void_v<R>) {
746
264
                  obj(static_cast<decltype(args)>(args)...);
747
264
              }
748
264
              else {
749
264
                  return obj(static_cast<decltype(args)>(args)...);
750
264
              }
751
264
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
160k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
160k
              cvref<T> obj = *get<T>(fn);
745
160k
              if constexpr (std::is_void_v<R>) {
746
160k
                  obj(static_cast<decltype(args)>(args)...);
747
160k
              }
748
160k
              else {
749
160k
                  return obj(static_cast<decltype(args)>(args)...);
750
160k
              }
751
160k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Line
Count
Source
743
23.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
23.7k
              cvref<T> obj = *get<T>(fn);
745
23.7k
              if constexpr (std::is_void_v<R>) {
746
23.7k
                  obj(static_cast<decltype(args)>(args)...);
747
23.7k
              }
748
23.7k
              else {
749
23.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
23.7k
              }
751
23.7k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEcE_clESW_c
Line
Count
Source
743
258k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
258k
              cvref<T> obj = *get<T>(fn);
745
258k
              if constexpr (std::is_void_v<R>) {
746
258k
                  obj(static_cast<decltype(args)>(args)...);
747
258k
              }
748
258k
              else {
749
258k
                  return obj(static_cast<decltype(args)>(args)...);
750
258k
              }
751
258k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Line
Count
Source
743
7.92M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.92M
              cvref<T> obj = *get<T>(fn);
745
7.92M
              if constexpr (std::is_void_v<R>) {
746
7.92M
                  obj(static_cast<decltype(args)>(args)...);
747
7.92M
              }
748
7.92M
              else {
749
7.92M
                  return obj(static_cast<decltype(args)>(args)...);
750
7.92M
              }
751
7.92M
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
413k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
413k
              cvref<T> obj = *get<T>(fn);
745
413k
              if constexpr (std::is_void_v<R>) {
746
413k
                  obj(static_cast<decltype(args)>(args)...);
747
413k
              }
748
413k
              else {
749
413k
                  return obj(static_cast<decltype(args)>(args)...);
750
413k
              }
751
413k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
185k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
185k
              cvref<T> obj = *get<T>(fn);
745
185k
              if constexpr (std::is_void_v<R>) {
746
185k
                  obj(static_cast<decltype(args)>(args)...);
747
185k
              }
748
185k
              else {
749
185k
                  return obj(static_cast<decltype(args)>(args)...);
750
185k
              }
751
185k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
454k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
454k
              cvref<T> obj = *get<T>(fn);
745
454k
              if constexpr (std::is_void_v<R>) {
746
454k
                  obj(static_cast<decltype(args)>(args)...);
747
454k
              }
748
454k
              else {
749
454k
                  return obj(static_cast<decltype(args)>(args)...);
750
454k
              }
751
454k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
8
              cvref<T> obj = *get<T>(fn);
745
8
              if constexpr (std::is_void_v<R>) {
746
8
                  obj(static_cast<decltype(args)>(args)...);
747
8
              }
748
8
              else {
749
8
                  return obj(static_cast<decltype(args)>(args)...);
750
8
              }
751
8
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
262
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
262
              cvref<T> obj = *get<T>(fn);
745
262
              if constexpr (std::is_void_v<R>) {
746
262
                  obj(static_cast<decltype(args)>(args)...);
747
262
              }
748
262
              else {
749
262
                  return obj(static_cast<decltype(args)>(args)...);
750
262
              }
751
262
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
177k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
177k
              cvref<T> obj = *get<T>(fn);
745
177k
              if constexpr (std::is_void_v<R>) {
746
177k
                  obj(static_cast<decltype(args)>(args)...);
747
177k
              }
748
177k
              else {
749
177k
                  return obj(static_cast<decltype(args)>(args)...);
750
177k
              }
751
177k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
435k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
435k
              cvref<T> obj = *get<T>(fn);
745
435k
              if constexpr (std::is_void_v<R>) {
746
435k
                  obj(static_cast<decltype(args)>(args)...);
747
435k
              }
748
435k
              else {
749
435k
                  return obj(static_cast<decltype(args)>(args)...);
750
435k
              }
751
435k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
189k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
189k
              cvref<T> obj = *get<T>(fn);
745
189k
              if constexpr (std::is_void_v<R>) {
746
189k
                  obj(static_cast<decltype(args)>(args)...);
747
189k
              }
748
189k
              else {
749
189k
                  return obj(static_cast<decltype(args)>(args)...);
750
189k
              }
751
189k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
458k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
458k
              cvref<T> obj = *get<T>(fn);
745
458k
              if constexpr (std::is_void_v<R>) {
746
458k
                  obj(static_cast<decltype(args)>(args)...);
747
458k
              }
748
458k
              else {
749
458k
                  return obj(static_cast<decltype(args)>(args)...);
750
458k
              }
751
458k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
180k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
180k
              cvref<T> obj = *get<T>(fn);
745
180k
              if constexpr (std::is_void_v<R>) {
746
180k
                  obj(static_cast<decltype(args)>(args)...);
747
180k
              }
748
180k
              else {
749
180k
                  return obj(static_cast<decltype(args)>(args)...);
750
180k
              }
751
180k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
438k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
438k
              cvref<T> obj = *get<T>(fn);
745
438k
              if constexpr (std::is_void_v<R>) {
746
438k
                  obj(static_cast<decltype(args)>(args)...);
747
438k
              }
748
438k
              else {
749
438k
                  return obj(static_cast<decltype(args)>(args)...);
750
438k
              }
751
438k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
1.15M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.15M
              cvref<T> obj = *get<T>(fn);
745
1.15M
              if constexpr (std::is_void_v<R>) {
746
1.15M
                  obj(static_cast<decltype(args)>(args)...);
747
1.15M
              }
748
1.15M
              else {
749
1.15M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.15M
              }
751
1.15M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES10_Di
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
743
6.43k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6.43k
              cvref<T> obj = *get<T>(fn);
745
6.43k
              if constexpr (std::is_void_v<R>) {
746
6.43k
                  obj(static_cast<decltype(args)>(args)...);
747
6.43k
              }
748
6.43k
              else {
749
6.43k
                  return obj(static_cast<decltype(args)>(args)...);
750
6.43k
              }
751
6.43k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
12.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
12.3k
              cvref<T> obj = *get<T>(fn);
745
12.3k
              if constexpr (std::is_void_v<R>) {
746
12.3k
                  obj(static_cast<decltype(args)>(args)...);
747
12.3k
              }
748
12.3k
              else {
749
12.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
12.3k
              }
751
12.3k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
743
788
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
788
              cvref<T> obj = *get<T>(fn);
745
788
              if constexpr (std::is_void_v<R>) {
746
788
                  obj(static_cast<decltype(args)>(args)...);
747
788
              }
748
788
              else {
749
788
                  return obj(static_cast<decltype(args)>(args)...);
750
788
              }
751
788
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
743
36.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
36.8k
              cvref<T> obj = *get<T>(fn);
745
36.8k
              if constexpr (std::is_void_v<R>) {
746
36.8k
                  obj(static_cast<decltype(args)>(args)...);
747
36.8k
              }
748
36.8k
              else {
749
36.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
36.8k
              }
751
36.8k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
5.55k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.55k
              cvref<T> obj = *get<T>(fn);
745
5.55k
              if constexpr (std::is_void_v<R>) {
746
5.55k
                  obj(static_cast<decltype(args)>(args)...);
747
5.55k
              }
748
5.55k
              else {
749
5.55k
                  return obj(static_cast<decltype(args)>(args)...);
750
5.55k
              }
751
5.55k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
454
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
454
              cvref<T> obj = *get<T>(fn);
745
454
              if constexpr (std::is_void_v<R>) {
746
454
                  obj(static_cast<decltype(args)>(args)...);
747
454
              }
748
454
              else {
749
454
                  return obj(static_cast<decltype(args)>(args)...);
750
454
              }
751
454
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Line
Count
Source
743
395k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
395k
              cvref<T> obj = *get<T>(fn);
745
395k
              if constexpr (std::is_void_v<R>) {
746
395k
                  obj(static_cast<decltype(args)>(args)...);
747
395k
              }
748
395k
              else {
749
395k
                  return obj(static_cast<decltype(args)>(args)...);
750
395k
              }
751
395k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
16.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
16.9k
              cvref<T> obj = *get<T>(fn);
745
16.9k
              if constexpr (std::is_void_v<R>) {
746
16.9k
                  obj(static_cast<decltype(args)>(args)...);
747
16.9k
              }
748
16.9k
              else {
749
16.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
16.9k
              }
751
16.9k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
743
788
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
788
              cvref<T> obj = *get<T>(fn);
745
788
              if constexpr (std::is_void_v<R>) {
746
788
                  obj(static_cast<decltype(args)>(args)...);
747
788
              }
748
788
              else {
749
788
                  return obj(static_cast<decltype(args)>(args)...);
750
788
              }
751
788
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
454
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
454
              cvref<T> obj = *get<T>(fn);
745
454
              if constexpr (std::is_void_v<R>) {
746
454
                  obj(static_cast<decltype(args)>(args)...);
747
454
              }
748
454
              else {
749
454
                  return obj(static_cast<decltype(args)>(args)...);
750
454
              }
751
454
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
788
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
788
              cvref<T> obj = *get<T>(fn);
745
788
              if constexpr (std::is_void_v<R>) {
746
788
                  obj(static_cast<decltype(args)>(args)...);
747
788
              }
748
788
              else {
749
788
                  return obj(static_cast<decltype(args)>(args)...);
750
788
              }
751
788
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
Line
Count
Source
743
454
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
454
              cvref<T> obj = *get<T>(fn);
745
454
              if constexpr (std::is_void_v<R>) {
746
454
                  obj(static_cast<decltype(args)>(args)...);
747
454
              }
748
454
              else {
749
454
                  return obj(static_cast<decltype(args)>(args)...);
750
454
              }
751
454
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
9.52M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
9.52M
              cvref<T> obj = *get<T>(fn);
745
9.52M
              if constexpr (std::is_void_v<R>) {
746
9.52M
                  obj(static_cast<decltype(args)>(args)...);
747
9.52M
              }
748
9.52M
              else {
749
9.52M
                  return obj(static_cast<decltype(args)>(args)...);
750
9.52M
              }
751
9.52M
          }),
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, wchar_t)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, wchar_t) const
Line
Count
Source
743
1.11M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.11M
              cvref<T> obj = *get<T>(fn);
745
1.11M
              if constexpr (std::is_void_v<R>) {
746
1.11M
                  obj(static_cast<decltype(args)>(args)...);
747
1.11M
              }
748
1.11M
              else {
749
1.11M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.11M
              }
751
1.11M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_LPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clESV_w
Line
Count
Source
743
314k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
314k
              cvref<T> obj = *get<T>(fn);
745
314k
              if constexpr (std::is_void_v<R>) {
746
314k
                  obj(static_cast<decltype(args)>(args)...);
747
314k
              }
748
314k
              else {
749
314k
                  return obj(static_cast<decltype(args)>(args)...);
750
314k
              }
751
314k
          }),
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base, char32_t) const
Line
Count
Source
743
5.47k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.47k
              cvref<T> obj = *get<T>(fn);
745
5.47k
              if constexpr (std::is_void_v<R>) {
746
5.47k
                  obj(static_cast<decltype(args)>(args)...);
747
5.47k
              }
748
5.47k
              else {
749
5.47k
                  return obj(static_cast<decltype(args)>(args)...);
750
5.47k
              }
751
5.47k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESR_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_LPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEwE_clESV_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
743
3.07k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.07k
              cvref<T> obj = *get<T>(fn);
745
3.07k
              if constexpr (std::is_void_v<R>) {
746
3.07k
                  obj(static_cast<decltype(args)>(args)...);
747
3.07k
              }
748
3.07k
              else {
749
3.07k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.07k
              }
751
3.07k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
743
352
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
352
              cvref<T> obj = *get<T>(fn);
745
352
              if constexpr (std::is_void_v<R>) {
746
352
                  obj(static_cast<decltype(args)>(args)...);
747
352
              }
748
352
              else {
749
352
                  return obj(static_cast<decltype(args)>(args)...);
750
352
              }
751
352
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
432
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
432
              cvref<T> obj = *get<T>(fn);
745
432
              if constexpr (std::is_void_v<R>) {
746
432
                  obj(static_cast<decltype(args)>(args)...);
747
432
              }
748
432
              else {
749
432
                  return obj(static_cast<decltype(args)>(args)...);
750
432
              }
751
432
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
70
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
70
              cvref<T> obj = *get<T>(fn);
745
70
              if constexpr (std::is_void_v<R>) {
746
70
                  obj(static_cast<decltype(args)>(args)...);
747
70
              }
748
70
              else {
749
70
                  return obj(static_cast<decltype(args)>(args)...);
750
70
              }
751
70
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Line
Count
Source
743
145M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
145M
              cvref<T> obj = *get<T>(fn);
745
145M
              if constexpr (std::is_void_v<R>) {
746
145M
                  obj(static_cast<decltype(args)>(args)...);
747
145M
              }
748
145M
              else {
749
145M
                  return obj(static_cast<decltype(args)>(args)...);
750
145M
              }
751
145M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_LPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEwE_clES17_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
18.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
18.9k
              cvref<T> obj = *get<T>(fn);
745
18.9k
              if constexpr (std::is_void_v<R>) {
746
18.9k
                  obj(static_cast<decltype(args)>(args)...);
747
18.9k
              }
748
18.9k
              else {
749
18.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
18.9k
              }
751
18.9k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
94.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
94.1k
              cvref<T> obj = *get<T>(fn);
745
94.1k
              if constexpr (std::is_void_v<R>) {
746
94.1k
                  obj(static_cast<decltype(args)>(args)...);
747
94.1k
              }
748
94.1k
              else {
749
94.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
94.1k
              }
751
94.1k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Line
Count
Source
743
8.04k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
8.04k
              cvref<T> obj = *get<T>(fn);
745
8.04k
              if constexpr (std::is_void_v<R>) {
746
8.04k
                  obj(static_cast<decltype(args)>(args)...);
747
8.04k
              }
748
8.04k
              else {
749
8.04k
                  return obj(static_cast<decltype(args)>(args)...);
750
8.04k
              }
751
8.04k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
454k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
454k
              cvref<T> obj = *get<T>(fn);
745
454k
              if constexpr (std::is_void_v<R>) {
746
454k
                  obj(static_cast<decltype(args)>(args)...);
747
454k
              }
748
454k
              else {
749
454k
                  return obj(static_cast<decltype(args)>(args)...);
750
454k
              }
751
454k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
70.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
70.9k
              cvref<T> obj = *get<T>(fn);
745
70.9k
              if constexpr (std::is_void_v<R>) {
746
70.9k
                  obj(static_cast<decltype(args)>(args)...);
747
70.9k
              }
748
70.9k
              else {
749
70.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
70.9k
              }
751
70.9k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Line
Count
Source
743
10
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
10
              cvref<T> obj = *get<T>(fn);
745
10
              if constexpr (std::is_void_v<R>) {
746
10
                  obj(static_cast<decltype(args)>(args)...);
747
10
              }
748
10
              else {
749
10
                  return obj(static_cast<decltype(args)>(args)...);
750
10
              }
751
10
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_LPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Line
Count
Source
743
114
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
114
              cvref<T> obj = *get<T>(fn);
745
114
              if constexpr (std::is_void_v<R>) {
746
114
                  obj(static_cast<decltype(args)>(args)...);
747
114
              }
748
114
              else {
749
114
                  return obj(static_cast<decltype(args)>(args)...);
750
114
              }
751
114
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
18.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
18.9k
              cvref<T> obj = *get<T>(fn);
745
18.9k
              if constexpr (std::is_void_v<R>) {
746
18.9k
                  obj(static_cast<decltype(args)>(args)...);
747
18.9k
              }
748
18.9k
              else {
749
18.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
18.9k
              }
751
18.9k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEwE_clESW_w
Line
Count
Source
743
3.08k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.08k
              cvref<T> obj = *get<T>(fn);
745
3.08k
              if constexpr (std::is_void_v<R>) {
746
3.08k
                  obj(static_cast<decltype(args)>(args)...);
747
3.08k
              }
748
3.08k
              else {
749
3.08k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.08k
              }
751
3.08k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Line
Count
Source
743
227k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
227k
              cvref<T> obj = *get<T>(fn);
745
227k
              if constexpr (std::is_void_v<R>) {
746
227k
                  obj(static_cast<decltype(args)>(args)...);
747
227k
              }
748
227k
              else {
749
227k
                  return obj(static_cast<decltype(args)>(args)...);
750
227k
              }
751
227k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
70.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
70.9k
              cvref<T> obj = *get<T>(fn);
745
70.9k
              if constexpr (std::is_void_v<R>) {
746
70.9k
                  obj(static_cast<decltype(args)>(args)...);
747
70.9k
              }
748
70.9k
              else {
749
70.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
70.9k
              }
751
70.9k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
19.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
19.0k
              cvref<T> obj = *get<T>(fn);
745
19.0k
              if constexpr (std::is_void_v<R>) {
746
19.0k
                  obj(static_cast<decltype(args)>(args)...);
747
19.0k
              }
748
19.0k
              else {
749
19.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
19.0k
              }
751
19.0k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
70.9k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
70.9k
              cvref<T> obj = *get<T>(fn);
745
70.9k
              if constexpr (std::is_void_v<R>) {
746
70.9k
                  obj(static_cast<decltype(args)>(args)...);
747
70.9k
              }
748
70.9k
              else {
749
70.9k
                  return obj(static_cast<decltype(args)>(args)...);
750
70.9k
              }
751
70.9k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6
              cvref<T> obj = *get<T>(fn);
745
6
              if constexpr (std::is_void_v<R>) {
746
6
                  obj(static_cast<decltype(args)>(args)...);
747
6
              }
748
6
              else {
749
6
                  return obj(static_cast<decltype(args)>(args)...);
750
6
              }
751
6
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
118
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
118
              cvref<T> obj = *get<T>(fn);
745
118
              if constexpr (std::is_void_v<R>) {
746
118
                  obj(static_cast<decltype(args)>(args)...);
747
118
              }
748
118
              else {
749
118
                  return obj(static_cast<decltype(args)>(args)...);
750
118
              }
751
118
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
19.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
19.0k
              cvref<T> obj = *get<T>(fn);
745
19.0k
              if constexpr (std::is_void_v<R>) {
746
19.0k
                  obj(static_cast<decltype(args)>(args)...);
747
19.0k
              }
748
19.0k
              else {
749
19.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
19.0k
              }
751
19.0k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
71.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
71.3k
              cvref<T> obj = *get<T>(fn);
745
71.3k
              if constexpr (std::is_void_v<R>) {
746
71.3k
                  obj(static_cast<decltype(args)>(args)...);
747
71.3k
              }
748
71.3k
              else {
749
71.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
71.3k
              }
751
71.3k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
19.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
19.0k
              cvref<T> obj = *get<T>(fn);
745
19.0k
              if constexpr (std::is_void_v<R>) {
746
19.0k
                  obj(static_cast<decltype(args)>(args)...);
747
19.0k
              }
748
19.0k
              else {
749
19.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
19.0k
              }
751
19.0k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
71.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
71.1k
              cvref<T> obj = *get<T>(fn);
745
71.1k
              if constexpr (std::is_void_v<R>) {
746
71.1k
                  obj(static_cast<decltype(args)>(args)...);
747
71.1k
              }
748
71.1k
              else {
749
71.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
71.1k
              }
751
71.1k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
19.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
19.1k
              cvref<T> obj = *get<T>(fn);
745
19.1k
              if constexpr (std::is_void_v<R>) {
746
19.1k
                  obj(static_cast<decltype(args)>(args)...);
747
19.1k
              }
748
19.1k
              else {
749
19.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
19.1k
              }
751
19.1k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
71.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
71.1k
              cvref<T> obj = *get<T>(fn);
745
71.1k
              if constexpr (std::is_void_v<R>) {
746
71.1k
                  obj(static_cast<decltype(args)>(args)...);
747
71.1k
              }
748
71.1k
              else {
749
71.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
71.1k
              }
751
71.1k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
211M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
211M
              cvref<T> obj = *get<T>(fn);
745
211M
              if constexpr (std::is_void_v<R>) {
746
211M
                  obj(static_cast<decltype(args)>(args)...);
747
211M
              }
748
211M
              else {
749
211M
                  return obj(static_cast<decltype(args)>(args)...);
750
211M
              }
751
211M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES10_Di
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
743
3.50k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
3.50k
              cvref<T> obj = *get<T>(fn);
745
3.50k
              if constexpr (std::is_void_v<R>) {
746
3.50k
                  obj(static_cast<decltype(args)>(args)...);
747
3.50k
              }
748
3.50k
              else {
749
3.50k
                  return obj(static_cast<decltype(args)>(args)...);
750
3.50k
              }
751
3.50k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
5.98k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.98k
              cvref<T> obj = *get<T>(fn);
745
5.98k
              if constexpr (std::is_void_v<R>) {
746
5.98k
                  obj(static_cast<decltype(args)>(args)...);
747
5.98k
              }
748
5.98k
              else {
749
5.98k
                  return obj(static_cast<decltype(args)>(args)...);
750
5.98k
              }
751
5.98k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
743
360
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
360
              cvref<T> obj = *get<T>(fn);
745
360
              if constexpr (std::is_void_v<R>) {
746
360
                  obj(static_cast<decltype(args)>(args)...);
747
360
              }
748
360
              else {
749
360
                  return obj(static_cast<decltype(args)>(args)...);
750
360
              }
751
360
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Line
Count
Source
743
422M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
422M
              cvref<T> obj = *get<T>(fn);
745
422M
              if constexpr (std::is_void_v<R>) {
746
422M
                  obj(static_cast<decltype(args)>(args)...);
747
422M
              }
748
422M
              else {
749
422M
                  return obj(static_cast<decltype(args)>(args)...);
750
422M
              }
751
422M
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
322
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
322
              cvref<T> obj = *get<T>(fn);
745
322
              if constexpr (std::is_void_v<R>) {
746
322
                  obj(static_cast<decltype(args)>(args)...);
747
322
              }
748
322
              else {
749
322
                  return obj(static_cast<decltype(args)>(args)...);
750
322
              }
751
322
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Line
Count
Source
743
72
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
72
              cvref<T> obj = *get<T>(fn);
745
72
              if constexpr (std::is_void_v<R>) {
746
72
                  obj(static_cast<decltype(args)>(args)...);
747
72
              }
748
72
              else {
749
72
                  return obj(static_cast<decltype(args)>(args)...);
750
72
              }
751
72
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
7.03k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.03k
              cvref<T> obj = *get<T>(fn);
745
7.03k
              if constexpr (std::is_void_v<R>) {
746
7.03k
                  obj(static_cast<decltype(args)>(args)...);
747
7.03k
              }
748
7.03k
              else {
749
7.03k
                  return obj(static_cast<decltype(args)>(args)...);
750
7.03k
              }
751
7.03k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
743
360
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
360
              cvref<T> obj = *get<T>(fn);
745
360
              if constexpr (std::is_void_v<R>) {
746
360
                  obj(static_cast<decltype(args)>(args)...);
747
360
              }
748
360
              else {
749
360
                  return obj(static_cast<decltype(args)>(args)...);
750
360
              }
751
360
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
322
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
322
              cvref<T> obj = *get<T>(fn);
745
322
              if constexpr (std::is_void_v<R>) {
746
322
                  obj(static_cast<decltype(args)>(args)...);
747
322
              }
748
322
              else {
749
322
                  return obj(static_cast<decltype(args)>(args)...);
750
322
              }
751
322
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
360
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
360
              cvref<T> obj = *get<T>(fn);
745
360
              if constexpr (std::is_void_v<R>) {
746
360
                  obj(static_cast<decltype(args)>(args)...);
747
360
              }
748
360
              else {
749
360
                  return obj(static_cast<decltype(args)>(args)...);
750
360
              }
751
360
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Line
Count
Source
743
322
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
322
              cvref<T> obj = *get<T>(fn);
745
322
              if constexpr (std::is_void_v<R>) {
746
322
                  obj(static_cast<decltype(args)>(args)...);
747
322
              }
748
322
              else {
749
322
                  return obj(static_cast<decltype(args)>(args)...);
750
322
              }
751
322
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
73.1M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
73.1M
              cvref<T> obj = *get<T>(fn);
745
73.1M
              if constexpr (std::is_void_v<R>) {
746
73.1M
                  obj(static_cast<decltype(args)>(args)...);
747
73.1M
              }
748
73.1M
              else {
749
73.1M
                  return obj(static_cast<decltype(args)>(args)...);
750
73.1M
              }
751
73.1M
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
743
173k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
173k
              cvref<T> obj = *get<T>(fn);
745
173k
              if constexpr (std::is_void_v<R>) {
746
173k
                  obj(static_cast<decltype(args)>(args)...);
747
173k
              }
748
173k
              else {
749
173k
                  return obj(static_cast<decltype(args)>(args)...);
750
173k
              }
751
173k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
241k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
241k
              cvref<T> obj = *get<T>(fn);
745
241k
              if constexpr (std::is_void_v<R>) {
746
241k
                  obj(static_cast<decltype(args)>(args)...);
747
241k
              }
748
241k
              else {
749
241k
                  return obj(static_cast<decltype(args)>(args)...);
750
241k
              }
751
241k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
267k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
267k
              cvref<T> obj = *get<T>(fn);
745
267k
              if constexpr (std::is_void_v<R>) {
746
267k
                  obj(static_cast<decltype(args)>(args)...);
747
267k
              }
748
267k
              else {
749
267k
                  return obj(static_cast<decltype(args)>(args)...);
750
267k
              }
751
267k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
271k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
271k
              cvref<T> obj = *get<T>(fn);
745
271k
              if constexpr (std::is_void_v<R>) {
746
271k
                  obj(static_cast<decltype(args)>(args)...);
747
271k
              }
748
271k
              else {
749
271k
                  return obj(static_cast<decltype(args)>(args)...);
750
271k
              }
751
271k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
229k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
229k
              cvref<T> obj = *get<T>(fn);
745
229k
              if constexpr (std::is_void_v<R>) {
746
229k
                  obj(static_cast<decltype(args)>(args)...);
747
229k
              }
748
229k
              else {
749
229k
                  return obj(static_cast<decltype(args)>(args)...);
750
229k
              }
751
229k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
253k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
253k
              cvref<T> obj = *get<T>(fn);
745
253k
              if constexpr (std::is_void_v<R>) {
746
253k
                  obj(static_cast<decltype(args)>(args)...);
747
253k
              }
748
253k
              else {
749
253k
                  return obj(static_cast<decltype(args)>(args)...);
750
253k
              }
751
253k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
256k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
256k
              cvref<T> obj = *get<T>(fn);
745
256k
              if constexpr (std::is_void_v<R>) {
746
256k
                  obj(static_cast<decltype(args)>(args)...);
747
256k
              }
748
256k
              else {
749
256k
                  return obj(static_cast<decltype(args)>(args)...);
750
256k
              }
751
256k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
560
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
560
              cvref<T> obj = *get<T>(fn);
745
560
              if constexpr (std::is_void_v<R>) {
746
560
                  obj(static_cast<decltype(args)>(args)...);
747
560
              }
748
560
              else {
749
560
                  return obj(static_cast<decltype(args)>(args)...);
750
560
              }
751
560
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
2.80k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.80k
              cvref<T> obj = *get<T>(fn);
745
2.80k
              if constexpr (std::is_void_v<R>) {
746
2.80k
                  obj(static_cast<decltype(args)>(args)...);
747
2.80k
              }
748
2.80k
              else {
749
2.80k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.80k
              }
751
2.80k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
28.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
28.4k
              cvref<T> obj = *get<T>(fn);
745
28.4k
              if constexpr (std::is_void_v<R>) {
746
28.4k
                  obj(static_cast<decltype(args)>(args)...);
747
28.4k
              }
748
28.4k
              else {
749
28.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
28.4k
              }
751
28.4k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
29.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
29.0k
              cvref<T> obj = *get<T>(fn);
745
29.0k
              if constexpr (std::is_void_v<R>) {
746
29.0k
                  obj(static_cast<decltype(args)>(args)...);
747
29.0k
              }
748
29.0k
              else {
749
29.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
29.0k
              }
751
29.0k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
28.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
28.6k
              cvref<T> obj = *get<T>(fn);
745
28.6k
              if constexpr (std::is_void_v<R>) {
746
28.6k
                  obj(static_cast<decltype(args)>(args)...);
747
28.6k
              }
748
28.6k
              else {
749
28.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
28.6k
              }
751
28.6k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Line
Count
Source
743
540
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
540
              cvref<T> obj = *get<T>(fn);
745
540
              if constexpr (std::is_void_v<R>) {
746
540
                  obj(static_cast<decltype(args)>(args)...);
747
540
              }
748
540
              else {
749
540
                  return obj(static_cast<decltype(args)>(args)...);
750
540
              }
751
540
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
668
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
668
              cvref<T> obj = *get<T>(fn);
745
668
              if constexpr (std::is_void_v<R>) {
746
668
                  obj(static_cast<decltype(args)>(args)...);
747
668
              }
748
668
              else {
749
668
                  return obj(static_cast<decltype(args)>(args)...);
750
668
              }
751
668
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
28.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
28.4k
              cvref<T> obj = *get<T>(fn);
745
28.4k
              if constexpr (std::is_void_v<R>) {
746
28.4k
                  obj(static_cast<decltype(args)>(args)...);
747
28.4k
              }
748
28.4k
              else {
749
28.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
28.4k
              }
751
28.4k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
28.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
28.5k
              cvref<T> obj = *get<T>(fn);
745
28.5k
              if constexpr (std::is_void_v<R>) {
746
28.5k
                  obj(static_cast<decltype(args)>(args)...);
747
28.5k
              }
748
28.5k
              else {
749
28.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
28.5k
              }
751
28.5k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
28.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
28.6k
              cvref<T> obj = *get<T>(fn);
745
28.6k
              if constexpr (std::is_void_v<R>) {
746
28.6k
                  obj(static_cast<decltype(args)>(args)...);
747
28.6k
              }
748
28.6k
              else {
749
28.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
28.6k
              }
751
28.6k
          }),
752
          m_storage(std::addressof(f))
753
261M
    {
754
261M
    }
scn::v3::impl::function_ref<bool (char), bool (char)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >&&)
Line
Count
Source
753
8.21M
    {
754
8.21M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_LPv0EEEOSM_
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >&&)
Line
Count
Source
753
80.8M
    {
754
80.8M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_LPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_LPv0EEEOSS_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_LPv0EEEOSK_
Line
Count
Source
753
1.65M
    {
754
1.65M
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}&&)
Line
Count
Source
753
22.4k
    {
754
22.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_LPv0EEEOSF_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_LPv0EEEOSP_
Line
Count
Source
753
802
    {
754
802
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_
Line
Count
Source
753
1.70k
    {
754
1.70k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
396
    {
754
396
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_LPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
168k
    {
754
168k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_LPv0EEEOSM_
Line
Count
Source
753
3.86k
    {
754
3.86k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_
Line
Count
Source
753
1.27M
    {
754
1.27M
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_LPv0EEEOSL_
Line
Count
Source
753
255k
    {
754
255k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_
Line
Count
Source
753
3.62M
    {
754
3.62M
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
430k
    {
754
430k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_
Line
Count
Source
753
6
    {
754
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_LPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_
Line
Count
Source
753
264
    {
754
264
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
160k
    {
754
160k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_LPv0EEEOSJ_
Line
Count
Source
753
3.80k
    {
754
3.80k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_LPv0EEEOSI_
Line
Count
Source
753
81.9k
    {
754
81.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_
Line
Count
Source
753
1.30M
    {
754
1.30M
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
413k
    {
754
413k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
185k
    {
754
185k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
454k
    {
754
454k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Line
Count
Source
753
8
    {
754
8
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Line
Count
Source
753
262
    {
754
262
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
177k
    {
754
177k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
435k
    {
754
435k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
189k
    {
754
189k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
458k
    {
754
458k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
180k
    {
754
180k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
438k
    {
754
438k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_LPv0EEEOSO_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
168k
    {
754
168k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_LPv0EEEOSM_
Line
Count
Source
753
2.62k
    {
754
2.62k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
744
    {
754
744
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_
Line
Count
Source
753
36
    {
754
36
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_
Line
Count
Source
753
318
    {
754
318
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_LPv0EEEOSL_
Line
Count
Source
753
222
    {
754
222
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_
Line
Count
Source
753
32
    {
754
32
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_
Line
Count
Source
753
2.42k
    {
754
2.42k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_LPv0EEEOSJ_
Line
Count
Source
753
5.58k
    {
754
5.58k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_
Line
Count
Source
753
36
    {
754
36
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_
Line
Count
Source
753
32
    {
754
32
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_
Line
Count
Source
753
36
    {
754
36
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_
Line
Count
Source
753
32
    {
754
32
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
4.61M
    {
754
4.61M
    }
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >&&)
Line
Count
Source
753
959k
    {
754
959k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_LPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_LPv0EEEOSS_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_LPv0EEEOSK_
Line
Count
Source
753
303k
    {
754
303k
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}&&)
Line
Count
Source
753
3.46k
    {
754
3.46k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_LPv0EEEOSF_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_
Line
Count
Source
753
2.68k
    {
754
2.68k
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_LPv0EEEOSP_
Line
Count
Source
753
352
    {
754
352
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_
Line
Count
Source
753
338
    {
754
338
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
70
    {
754
70
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Line
Count
Source
753
50.5M
    {
754
50.5M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_LPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
18.9k
    {
754
18.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_
Line
Count
Source
753
74.5k
    {
754
74.5k
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_LPv0EEEOSL_
Line
Count
Source
753
3.53k
    {
754
3.53k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_
Line
Count
Source
753
374k
    {
754
374k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
70.9k
    {
754
70.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_
Line
Count
Source
753
10
    {
754
10
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_LPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_
Line
Count
Source
753
114
    {
754
114
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
18.9k
    {
754
18.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_LPv0EEEOSI_
Line
Count
Source
753
1.41k
    {
754
1.41k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_
Line
Count
Source
753
190k
    {
754
190k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
70.9k
    {
754
70.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
19.0k
    {
754
19.0k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
70.9k
    {
754
70.9k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Line
Count
Source
753
6
    {
754
6
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Line
Count
Source
753
118
    {
754
118
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
19.0k
    {
754
19.0k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
71.3k
    {
754
71.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
19.0k
    {
754
19.0k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
71.1k
    {
754
71.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
19.1k
    {
754
19.1k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
71.1k
    {
754
71.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_LPv0EEEOSO_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
24.9M
    {
754
24.9M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_LPv0EEEOSM_
Line
Count
Source
753
3.48k
    {
754
3.48k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
378
    {
754
378
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_
Line
Count
Source
753
30
    {
754
30
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_LPv0EEEOSL_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Line
Count
Source
753
49.8M
    {
754
49.8M
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_
Line
Count
Source
753
28
    {
754
28
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_
Line
Count
Source
753
66
    {
754
66
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_LPv0EEEOSJ_
Line
Count
Source
753
6.98k
    {
754
6.98k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_
Line
Count
Source
753
30
    {
754
30
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_
Line
Count
Source
753
28
    {
754
28
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_
Line
Count
Source
753
30
    {
754
30
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_
Line
Count
Source
753
28
    {
754
28
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
25.6M
    {
754
25.6M
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_
Line
Count
Source
753
82.5k
    {
754
82.5k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
241k
    {
754
241k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
267k
    {
754
267k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
271k
    {
754
271k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
229k
    {
754
229k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
253k
    {
754
253k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
256k
    {
754
256k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_LPv0EEEOSJ_
Line
Count
Source
753
506
    {
754
506
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
1.88k
    {
754
1.88k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
28.4k
    {
754
28.4k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
29.0k
    {
754
29.0k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
28.6k
    {
754
28.6k
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_LPv0EEEOSJ_
Line
Count
Source
753
504
    {
754
504
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
668
    {
754
668
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
28.4k
    {
754
28.4k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
28.5k
    {
754
28.5k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
28.6k
    {
754
28.6k
    }
755
756
    template <typename T,
757
              std::enable_if_t<detail::is_not_self<T, function_ref> &&
758
                               !std::is_pointer_v<T>>* = nullptr>
759
    function_ref& operator=(T) = delete;
760
761
    constexpr R operator()(Args... args) const noexcept(noex)
762
1.18G
    {
763
1.18G
        return m_fptr(m_storage, SCN_FWD(args)...);
764
1.18G
    }
scn::v3::impl::function_ref<bool (char), bool (char)>::operator()(char) const
Line
Count
Source
762
86.1M
    {
763
86.1M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
86.1M
    }
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::operator()(char32_t) const
Line
Count
Source
762
1.09G
    {
763
1.09G
        return m_fptr(m_storage, SCN_FWD(args)...);
764
1.09G
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::operator()(char32_t) const
Line
Count
Source
762
39.1k
    {
763
39.1k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
39.1k
    }
Unexecuted instantiation: scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref) const
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
2.62M
    {
763
2.62M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
2.62M
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref) const
Line
Count
Source
762
270
    {
763
270
        return m_fptr(m_storage, SCN_FWD(args)...);
764
270
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<char const*> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref), scn::v3::scan_expected<char const*> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
2.58M
    {
763
2.58M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
2.58M
    }
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::operator()(wchar_t) const
Line
Count
Source
762
2.23M
    {
763
2.23M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
2.23M
    }
Unexecuted instantiation: scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref) const
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
355k
    {
763
355k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
355k
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref) const
Line
Count
Source
762
124
    {
763
124
        return m_fptr(m_storage, SCN_FWD(args)...);
764
124
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<wchar_t const*> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref), scn::v3::scan_expected<wchar_t const*> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
356k
    {
763
356k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
356k
    }
765
766
private:
767
    fwd_t* m_fptr{nullptr};
768
    storage m_storage;
769
};
770
771
template <typename F, std::enable_if_t<std::is_function_v<F>>* = nullptr>
772
function_ref(F*) -> function_ref<F>;
773
}  // namespace impl
774
775
/////////////////////////////////////////////////////////////////
776
// Internal error types
777
/////////////////////////////////////////////////////////////////
778
779
namespace impl {
780
enum class eof_error { good, eof };
781
782
inline constexpr bool operator!(eof_error e)
783
155M
{
784
155M
    return e != eof_error::good;
785
155M
}
786
787
template <typename T>
788
struct eof_expected : public expected<T, eof_error> {
789
    using base = expected<T, eof_error>;
790
    using base::base;
791
792
    constexpr eof_expected(const base& other) : base(other) {}
793
    constexpr eof_expected(base&& other) : base(SCN_MOVE(other)) {}
794
};
795
796
inline constexpr auto make_eof_scan_error(eof_error err)
797
135k
{
798
135k
    SCN_EXPECT(err == eof_error::eof);
799
135k
    return scan_error{scan_error::end_of_range, "EOF"};
800
135k
}
801
802
struct SCN_TRIVIAL_ABI parse_error {
803
    enum code { good, eof, error };
804
    using code_t = code;
805
806
    constexpr parse_error() = default;
807
    constexpr parse_error(code c) : m_code(c)
808
62.1M
    {
809
62.1M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
810
62.1M
    }
811
812
    constexpr explicit operator bool() const
813
0
    {
814
0
        return m_code == good;
815
0
    }
816
    constexpr explicit operator code_t() const
817
0
    {
818
0
        return m_code;
819
0
    }
820
821
    friend constexpr bool operator==(parse_error a, parse_error b)
822
22.4M
    {
823
22.4M
        return a.m_code == b.m_code;
824
22.4M
    }
825
    friend constexpr bool operator!=(parse_error a, parse_error b)
826
0
    {
827
0
        return !(a == b);
828
0
    }
829
830
private:
831
    code m_code{good};
832
};
833
834
template <typename T>
835
struct parse_expected : public expected<T, parse_error> {
836
    using base = expected<T, parse_error>;
837
    using base::base;
838
839
    constexpr parse_expected(const base& other) : base(other) {}
840
    constexpr parse_expected(base&& other) : base(SCN_MOVE(other)) {}
841
};
842
843
inline constexpr parse_error make_eof_parse_error(eof_error err)
844
351k
{
845
351k
    SCN_EXPECT(err == eof_error::eof);
846
351k
    return parse_error::eof;
847
351k
}
848
849
inline constexpr scan_error make_scan_error_from_parse_error(
850
    parse_error err,
851
    enum scan_error::code code,
852
    const char* msg)
853
6.52M
{
854
6.52M
    if (err == parse_error::good) {
855
0
        return {};
856
0
    }
857
858
6.52M
    if (err == parse_error::eof) {
859
89.9k
        return scan_error{scan_error::end_of_range, "EOF"};
860
89.9k
    }
861
862
6.43M
    return scan_error{code, msg};
863
6.52M
}
864
865
inline constexpr auto map_parse_error_to_scan_error(enum scan_error::code code,
866
                                                    const char* msg)
867
8.10M
{
868
8.10M
    return [code, msg](parse_error err) {
869
6.52M
        return make_scan_error_from_parse_error(err, code, msg);
870
6.52M
    };
871
8.10M
}
872
}  // namespace impl
873
874
namespace detail {
875
template <typename T>
876
struct is_expected_impl<scn::impl::parse_expected<T>> : std::true_type {};
877
}  // namespace detail
878
879
/////////////////////////////////////////////////////////////////
880
// Range reading support
881
/////////////////////////////////////////////////////////////////
882
883
namespace impl {
884
#if SCN_MSVC_DEBUG_ITERATORS
885
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 1
886
#else
887
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 0
888
#endif
889
890
template <typename T>
891
constexpr bool range_supports_nocopy() noexcept
892
{
893
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
894
    return ranges::contiguous_range<T> ||
895
           (ranges::random_access_range<T> &&
896
            detail::can_make_address_from_iterator<ranges::iterator_t<T>>);
897
#else
898
    return ranges::contiguous_range<T>;
899
#endif
900
}
901
902
template <typename R>
903
constexpr auto range_nocopy_data(const R& r) noexcept
904
{
905
    static_assert(range_supports_nocopy<R>());
906
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
907
    return detail::to_address(ranges::begin(r));
908
#else
909
    return ranges::data(r);
910
#endif
911
}
912
913
template <typename R>
914
constexpr auto range_nocopy_size(const R& r) noexcept
915
{
916
    static_assert(range_supports_nocopy<R>());
917
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
918
    return static_cast<size_t>(ranges::distance(detail::to_address(r.begin()),
919
                                                detail::to_address(r.end())));
920
#else
921
    return r.size();
922
#endif
923
}
924
925
template <typename I, typename S>
926
SCN_NODISCARD constexpr bool is_range_eof(I begin, S end)
927
1.01G
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
1.01G
    {
937
1.01G
        return begin == end;
938
1.01G
    }
939
1.01G
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
927
27.3M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
27.3M
    {
937
27.3M
        return begin == end;
938
27.3M
    }
939
27.3M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
927
57.1k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
57.1k
    {
937
57.1k
        return begin == end;
938
57.1k
    }
939
57.1k
}
bool scn::v3::impl::is_range_eof<char const*, char const*>(char const*, char const*)
Line
Count
Source
927
15.3M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
15.3M
    {
937
15.3M
        return begin == end;
938
15.3M
    }
939
15.3M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
927
326M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
326M
    {
937
326M
        return begin == end;
938
326M
    }
939
326M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
bool scn::v3::impl::is_range_eof<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*)
Line
Count
Source
927
650M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
650M
    {
937
650M
        return begin == end;
938
650M
    }
939
650M
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
927
6.90k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
6.90k
    {
937
6.90k
        return begin == end;
938
6.90k
    }
939
6.90k
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
927
4.69k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
4.69k
    {
937
4.69k
        return begin == end;
938
4.69k
    }
939
4.69k
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
Line
Count
Source
927
1.33k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
1.33k
    {
937
1.33k
        return begin == end;
938
1.33k
    }
939
1.33k
}
940
941
template <typename Range>
942
SCN_NODISCARD constexpr bool is_range_eof(Range r)
943
1.01G
{
944
1.01G
    return is_range_eof(r.begin(), r.end());
945
1.01G
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
943
27.3M
{
944
27.3M
    return is_range_eof(r.begin(), r.end());
945
27.3M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
943
1.88k
{
944
1.88k
    return is_range_eof(r.begin(), r.end());
945
1.88k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
943
55.2k
{
944
55.2k
    return is_range_eof(r.begin(), r.end());
945
55.2k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
943
15.2M
{
944
15.2M
    return is_range_eof(r.begin(), r.end());
945
15.2M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
943
326M
{
944
326M
    return is_range_eof(r.begin(), r.end());
945
326M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
943
650M
{
944
650M
    return is_range_eof(r.begin(), r.end());
945
650M
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
943
834
{
944
834
    return is_range_eof(r.begin(), r.end());
945
834
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
943
6.07k
{
944
6.07k
    return is_range_eof(r.begin(), r.end());
945
6.07k
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
943
4.69k
{
944
4.69k
    return is_range_eof(r.begin(), r.end());
945
4.69k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
943
1.33k
{
944
1.33k
    return is_range_eof(r.begin(), r.end());
945
1.33k
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
946
947
template <typename Range>
948
SCN_NODISCARD constexpr eof_error eof_check(Range range)
949
155M
{
950
155M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
176k
        return eof_error::eof;
952
176k
    }
953
154M
    return eof_error::good;
954
155M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
949
16.6M
{
950
16.6M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
87.6k
        return eof_error::eof;
952
87.6k
    }
953
16.5M
    return eof_error::good;
954
16.6M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
949
1.88k
{
950
1.88k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
1.88k
    return eof_error::good;
954
1.88k
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
949
34
{
950
34
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
34
    return eof_error::good;
954
34
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
949
14.8M
{
950
14.8M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
63.5k
        return eof_error::eof;
952
63.5k
    }
953
14.7M
    return eof_error::good;
954
14.8M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
949
41.7M
{
950
41.7M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
10.6k
        return eof_error::eof;
952
10.6k
    }
953
41.7M
    return eof_error::good;
954
41.7M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
949
81.8M
{
950
81.8M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
14.9k
        return eof_error::eof;
952
14.9k
    }
953
81.8M
    return eof_error::good;
954
81.8M
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
949
834
{
950
834
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
834
    return eof_error::good;
954
834
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
949
18
{
950
18
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
18
    return eof_error::good;
954
18
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
949
1.88k
{
950
1.88k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
114
        return eof_error::eof;
952
114
    }
953
1.77k
    return eof_error::good;
954
1.88k
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
949
668
{
950
668
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
668
    return eof_error::good;
954
668
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
955
956
template <typename Range>
957
bool is_entire_source_contiguous(Range r)
958
13.5k
{
959
13.5k
    if constexpr (ranges::contiguous_range<Range> &&
960
13.5k
                  ranges::sized_range<Range>) {
961
240
        return true;
962
240
    }
963
240
    else if constexpr (std::is_same_v<
964
240
                           ranges::const_iterator_t<Range>,
965
240
                           typename detail::basic_scan_buffer<
966
240
                               detail::char_t<Range>>::forward_iterator>) {
967
240
        auto beg = r.begin();
968
240
        if (!beg.stores_parent()) {
969
0
            return true;
970
0
        }
971
0
        return beg.parent()->is_contiguous();
972
0
    }
973
240
    else {
974
240
        return false;
975
240
    }
976
13.5k
}
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
958
228
{
959
228
    if constexpr (ranges::contiguous_range<Range> &&
960
228
                  ranges::sized_range<Range>) {
961
228
        return true;
962
228
    }
963
228
    else if constexpr (std::is_same_v<
964
228
                           ranges::const_iterator_t<Range>,
965
228
                           typename detail::basic_scan_buffer<
966
228
                               detail::char_t<Range>>::forward_iterator>) {
967
228
        auto beg = r.begin();
968
228
        if (!beg.stores_parent()) {
969
228
            return true;
970
228
        }
971
228
        return beg.parent()->is_contiguous();
972
228
    }
973
228
    else {
974
228
        return false;
975
228
    }
976
228
}
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
958
9.43k
{
959
9.43k
    if constexpr (ranges::contiguous_range<Range> &&
960
9.43k
                  ranges::sized_range<Range>) {
961
9.43k
        return true;
962
9.43k
    }
963
9.43k
    else if constexpr (std::is_same_v<
964
9.43k
                           ranges::const_iterator_t<Range>,
965
9.43k
                           typename detail::basic_scan_buffer<
966
9.43k
                               detail::char_t<Range>>::forward_iterator>) {
967
9.43k
        auto beg = r.begin();
968
9.43k
        if (!beg.stores_parent()) {
969
9.43k
            return true;
970
9.43k
        }
971
9.43k
        return beg.parent()->is_contiguous();
972
9.43k
    }
973
9.43k
    else {
974
9.43k
        return false;
975
9.43k
    }
976
9.43k
}
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
958
12
{
959
12
    if constexpr (ranges::contiguous_range<Range> &&
960
12
                  ranges::sized_range<Range>) {
961
12
        return true;
962
12
    }
963
12
    else if constexpr (std::is_same_v<
964
12
                           ranges::const_iterator_t<Range>,
965
12
                           typename detail::basic_scan_buffer<
966
12
                               detail::char_t<Range>>::forward_iterator>) {
967
12
        auto beg = r.begin();
968
12
        if (!beg.stores_parent()) {
969
12
            return true;
970
12
        }
971
12
        return beg.parent()->is_contiguous();
972
12
    }
973
12
    else {
974
12
        return false;
975
12
    }
976
12
}
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
958
3.82k
{
959
3.82k
    if constexpr (ranges::contiguous_range<Range> &&
960
3.82k
                  ranges::sized_range<Range>) {
961
3.82k
        return true;
962
3.82k
    }
963
3.82k
    else if constexpr (std::is_same_v<
964
3.82k
                           ranges::const_iterator_t<Range>,
965
3.82k
                           typename detail::basic_scan_buffer<
966
3.82k
                               detail::char_t<Range>>::forward_iterator>) {
967
3.82k
        auto beg = r.begin();
968
3.82k
        if (!beg.stores_parent()) {
969
3.82k
            return true;
970
3.82k
        }
971
3.82k
        return beg.parent()->is_contiguous();
972
3.82k
    }
973
3.82k
    else {
974
3.82k
        return false;
975
3.82k
    }
976
3.82k
}
977
978
template <typename Range>
979
bool is_segment_contiguous(Range r)
980
30.6M
{
981
30.6M
    if constexpr (ranges::contiguous_range<Range> &&
982
30.6M
                  ranges::sized_range<Range>) {
983
30.6M
        return true;
984
30.6M
    }
985
30.6M
    else if constexpr (std::is_same_v<
986
30.6M
                           ranges::const_iterator_t<Range>,
987
30.6M
                           typename detail::basic_scan_buffer<
988
30.6M
                               detail::char_t<Range>>::forward_iterator>) {
989
0
        auto beg = r.begin();
990
30.6M
        if (beg.contiguous_segment().empty()) {
991
30.6M
            return false;
992
30.6M
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
0
    else {
1006
0
        return false;
1007
0
    }
1008
30.6M
}
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
980
5.01M
{
981
5.01M
    if constexpr (ranges::contiguous_range<Range> &&
982
5.01M
                  ranges::sized_range<Range>) {
983
5.01M
        return true;
984
5.01M
    }
985
5.01M
    else if constexpr (std::is_same_v<
986
5.01M
                           ranges::const_iterator_t<Range>,
987
5.01M
                           typename detail::basic_scan_buffer<
988
5.01M
                               detail::char_t<Range>>::forward_iterator>) {
989
5.01M
        auto beg = r.begin();
990
5.01M
        if (beg.contiguous_segment().empty()) {
991
5.01M
            return false;
992
5.01M
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
5.01M
    else {
1006
5.01M
        return false;
1007
5.01M
    }
1008
5.01M
}
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
980
9.43k
{
981
9.43k
    if constexpr (ranges::contiguous_range<Range> &&
982
9.43k
                  ranges::sized_range<Range>) {
983
9.43k
        return true;
984
9.43k
    }
985
9.43k
    else if constexpr (std::is_same_v<
986
9.43k
                           ranges::const_iterator_t<Range>,
987
9.43k
                           typename detail::basic_scan_buffer<
988
9.43k
                               detail::char_t<Range>>::forward_iterator>) {
989
9.43k
        auto beg = r.begin();
990
9.43k
        if (beg.contiguous_segment().empty()) {
991
9.43k
            return false;
992
9.43k
        }
993
9.43k
        if constexpr (ranges::common_range<Range>) {
994
9.43k
            return beg.contiguous_segment().end() ==
995
9.43k
                   ranges::end(r).contiguous_segment().end();
996
9.43k
        }
997
9.43k
        else {
998
9.43k
            if (beg.stores_parent()) {
999
9.43k
                return beg.contiguous_segment().end() ==
1000
9.43k
                       beg.parent()->current_view().end();
1001
9.43k
            }
1002
9.43k
            return true;
1003
9.43k
        }
1004
9.43k
    }
1005
9.43k
    else {
1006
9.43k
        return false;
1007
9.43k
    }
1008
9.43k
}
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
980
25.6M
{
981
25.6M
    if constexpr (ranges::contiguous_range<Range> &&
982
25.6M
                  ranges::sized_range<Range>) {
983
25.6M
        return true;
984
25.6M
    }
985
25.6M
    else if constexpr (std::is_same_v<
986
25.6M
                           ranges::const_iterator_t<Range>,
987
25.6M
                           typename detail::basic_scan_buffer<
988
25.6M
                               detail::char_t<Range>>::forward_iterator>) {
989
25.6M
        auto beg = r.begin();
990
25.6M
        if (beg.contiguous_segment().empty()) {
991
25.6M
            return false;
992
25.6M
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
25.6M
    else {
1006
25.6M
        return false;
1007
25.6M
    }
1008
25.6M
}
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
980
3.82k
{
981
3.82k
    if constexpr (ranges::contiguous_range<Range> &&
982
3.82k
                  ranges::sized_range<Range>) {
983
3.82k
        return true;
984
3.82k
    }
985
3.82k
    else if constexpr (std::is_same_v<
986
3.82k
                           ranges::const_iterator_t<Range>,
987
3.82k
                           typename detail::basic_scan_buffer<
988
3.82k
                               detail::char_t<Range>>::forward_iterator>) {
989
3.82k
        auto beg = r.begin();
990
3.82k
        if (beg.contiguous_segment().empty()) {
991
3.82k
            return false;
992
3.82k
        }
993
3.82k
        if constexpr (ranges::common_range<Range>) {
994
3.82k
            return beg.contiguous_segment().end() ==
995
3.82k
                   ranges::end(r).contiguous_segment().end();
996
3.82k
        }
997
3.82k
        else {
998
3.82k
            if (beg.stores_parent()) {
999
3.82k
                return beg.contiguous_segment().end() ==
1000
3.82k
                       beg.parent()->current_view().end();
1001
3.82k
            }
1002
3.82k
            return true;
1003
3.82k
        }
1004
3.82k
    }
1005
3.82k
    else {
1006
3.82k
        return false;
1007
3.82k
    }
1008
3.82k
}
1009
1010
template <typename Range>
1011
std::size_t contiguous_beginning_size(Range r)
1012
{
1013
    if constexpr (ranges::contiguous_range<Range> &&
1014
                  ranges::sized_range<Range>) {
1015
        return r.size();
1016
    }
1017
    else if constexpr (std::is_same_v<
1018
                           ranges::const_iterator_t<Range>,
1019
                           typename detail::basic_scan_buffer<
1020
                               detail::char_t<Range>>::forward_iterator>) {
1021
        if constexpr (ranges::common_range<Range>) {
1022
            auto seg = r.begin().contiguous_segment();
1023
            auto dist =
1024
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1025
            return std::min(seg.size(), dist);
1026
        }
1027
        else {
1028
            return r.begin().contiguous_segment().size();
1029
        }
1030
    }
1031
    else {
1032
        return false;
1033
    }
1034
}
1035
1036
template <typename Range>
1037
auto get_contiguous_beginning(Range r)
1038
5.17M
{
1039
5.17M
    if constexpr (ranges::contiguous_range<Range> &&
1040
5.17M
                  ranges::sized_range<Range>) {
1041
5.17M
        return r;
1042
5.17M
    }
1043
5.17M
    else if constexpr (std::is_same_v<
1044
5.17M
                           ranges::const_iterator_t<Range>,
1045
5.17M
                           typename detail::basic_scan_buffer<
1046
5.17M
                               detail::char_t<Range>>::forward_iterator>) {
1047
5.17M
        if constexpr (ranges::common_range<Range>) {
1048
5.17M
            auto seg = r.begin().contiguous_segment();
1049
5.17M
            auto dist =
1050
5.17M
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
5.17M
            return seg.substr(0, std::min(seg.size(), dist));
1052
5.17M
        }
1053
5.17M
        else {
1054
5.17M
            return r.begin().contiguous_segment();
1055
5.17M
        }
1056
5.17M
    }
1057
3.02k
    else {
1058
3.02k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
3.02k
    }
1060
5.17M
}
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > > >(scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > > >(scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >)
auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1038
1.14k
{
1039
1.14k
    if constexpr (ranges::contiguous_range<Range> &&
1040
1.14k
                  ranges::sized_range<Range>) {
1041
1.14k
        return r;
1042
1.14k
    }
1043
1.14k
    else if constexpr (std::is_same_v<
1044
1.14k
                           ranges::const_iterator_t<Range>,
1045
1.14k
                           typename detail::basic_scan_buffer<
1046
1.14k
                               detail::char_t<Range>>::forward_iterator>) {
1047
1.14k
        if constexpr (ranges::common_range<Range>) {
1048
1.14k
            auto seg = r.begin().contiguous_segment();
1049
1.14k
            auto dist =
1050
1.14k
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
1.14k
            return seg.substr(0, std::min(seg.size(), dist));
1052
1.14k
        }
1053
1.14k
        else {
1054
1.14k
            return r.begin().contiguous_segment();
1055
1.14k
        }
1056
1.14k
    }
1057
1.14k
    else {
1058
1.14k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
1.14k
    }
1060
1.14k
}
auto scn::v3::impl::get_contiguous_beginning<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
1038
5.17M
{
1039
5.17M
    if constexpr (ranges::contiguous_range<Range> &&
1040
5.17M
                  ranges::sized_range<Range>) {
1041
5.17M
        return r;
1042
5.17M
    }
1043
5.17M
    else if constexpr (std::is_same_v<
1044
5.17M
                           ranges::const_iterator_t<Range>,
1045
5.17M
                           typename detail::basic_scan_buffer<
1046
5.17M
                               detail::char_t<Range>>::forward_iterator>) {
1047
5.17M
        if constexpr (ranges::common_range<Range>) {
1048
5.17M
            auto seg = r.begin().contiguous_segment();
1049
5.17M
            auto dist =
1050
5.17M
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
5.17M
            return seg.substr(0, std::min(seg.size(), dist));
1052
5.17M
        }
1053
5.17M
        else {
1054
5.17M
            return r.begin().contiguous_segment();
1055
5.17M
        }
1056
5.17M
    }
1057
5.17M
    else {
1058
5.17M
        return std::basic_string_view<detail::char_t<Range>>{};
1059
5.17M
    }
1060
5.17M
}
auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > > >(scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >)
Line
Count
Source
1038
1.88k
{
1039
1.88k
    if constexpr (ranges::contiguous_range<Range> &&
1040
1.88k
                  ranges::sized_range<Range>) {
1041
1.88k
        return r;
1042
1.88k
    }
1043
1.88k
    else if constexpr (std::is_same_v<
1044
1.88k
                           ranges::const_iterator_t<Range>,
1045
1.88k
                           typename detail::basic_scan_buffer<
1046
1.88k
                               detail::char_t<Range>>::forward_iterator>) {
1047
1.88k
        if constexpr (ranges::common_range<Range>) {
1048
1.88k
            auto seg = r.begin().contiguous_segment();
1049
1.88k
            auto dist =
1050
1.88k
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
1.88k
            return seg.substr(0, std::min(seg.size(), dist));
1052
1.88k
        }
1053
1.88k
        else {
1054
1.88k
            return r.begin().contiguous_segment();
1055
1.88k
        }
1056
1.88k
    }
1057
1.88k
    else {
1058
1.88k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
1.88k
    }
1060
1.88k
}
1061
1062
template <typename Range>
1063
auto get_as_contiguous(Range r)
1064
13.2k
{
1065
13.2k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
13.2k
    if constexpr (ranges::contiguous_range<Range> &&
1068
13.2k
                  ranges::sized_range<Range>) {
1069
0
        return r;
1070
0
    }
1071
0
    else if constexpr (std::is_same_v<
1072
0
                           ranges::const_iterator_t<Range>,
1073
0
                           typename detail::basic_scan_buffer<
1074
0
                               detail::char_t<Range>>::forward_iterator>) {
1075
0
        if constexpr (ranges::common_range<Range>) {
1076
0
            return detail::make_string_view_from_pointers(
1077
0
                r.begin().to_contiguous_segment_iterator(),
1078
0
                r.end().to_contiguous_segment_iterator());
1079
0
        }
1080
0
        else {
1081
0
            return r.begin().contiguous_segment();
1082
0
        }
1083
0
    }
1084
0
    else {
1085
0
        SCN_EXPECT(false);
1086
0
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
0
        return std::basic_string_view<detail::char_t<Range>>{};
1089
0
    }
1090
13.2k
}
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
1064
9.43k
{
1065
9.43k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
9.43k
    if constexpr (ranges::contiguous_range<Range> &&
1068
9.43k
                  ranges::sized_range<Range>) {
1069
9.43k
        return r;
1070
9.43k
    }
1071
9.43k
    else if constexpr (std::is_same_v<
1072
9.43k
                           ranges::const_iterator_t<Range>,
1073
9.43k
                           typename detail::basic_scan_buffer<
1074
9.43k
                               detail::char_t<Range>>::forward_iterator>) {
1075
9.43k
        if constexpr (ranges::common_range<Range>) {
1076
9.43k
            return detail::make_string_view_from_pointers(
1077
9.43k
                r.begin().to_contiguous_segment_iterator(),
1078
9.43k
                r.end().to_contiguous_segment_iterator());
1079
9.43k
        }
1080
9.43k
        else {
1081
9.43k
            return r.begin().contiguous_segment();
1082
9.43k
        }
1083
9.43k
    }
1084
9.43k
    else {
1085
9.43k
        SCN_EXPECT(false);
1086
9.43k
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
9.43k
        return std::basic_string_view<detail::char_t<Range>>{};
1089
9.43k
    }
1090
9.43k
}
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
1064
3.82k
{
1065
3.82k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
3.82k
    if constexpr (ranges::contiguous_range<Range> &&
1068
3.82k
                  ranges::sized_range<Range>) {
1069
3.82k
        return r;
1070
3.82k
    }
1071
3.82k
    else if constexpr (std::is_same_v<
1072
3.82k
                           ranges::const_iterator_t<Range>,
1073
3.82k
                           typename detail::basic_scan_buffer<
1074
3.82k
                               detail::char_t<Range>>::forward_iterator>) {
1075
3.82k
        if constexpr (ranges::common_range<Range>) {
1076
3.82k
            return detail::make_string_view_from_pointers(
1077
3.82k
                r.begin().to_contiguous_segment_iterator(),
1078
3.82k
                r.end().to_contiguous_segment_iterator());
1079
3.82k
        }
1080
3.82k
        else {
1081
3.82k
            return r.begin().contiguous_segment();
1082
3.82k
        }
1083
3.82k
    }
1084
3.82k
    else {
1085
3.82k
        SCN_EXPECT(false);
1086
3.82k
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
3.82k
        return std::basic_string_view<detail::char_t<Range>>{};
1089
3.82k
    }
1090
3.82k
}
1091
1092
template <typename Range>
1093
std::size_t guaranteed_minimum_size(Range r)
1094
10.1M
{
1095
10.1M
    if constexpr (ranges::sized_range<Range>) {
1096
10.1M
        return r.size();
1097
10.1M
    }
1098
10.1M
    else if constexpr (std::is_same_v<
1099
10.1M
                           ranges::const_iterator_t<Range>,
1100
10.1M
                           typename detail::basic_scan_buffer<
1101
10.1M
                               detail::char_t<Range>>::forward_iterator>) {
1102
10.1M
        if constexpr (ranges::common_range<Range>) {
1103
10.1M
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
10.1M
        }
1105
10.1M
        else {
1106
10.1M
            if (r.begin().stores_parent()) {
1107
10.1M
                return static_cast<size_t>(
1108
10.1M
                    r.begin().parent()->chars_available() -
1109
10.1M
                    r.begin().position());
1110
10.1M
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
10.1M
        }
1113
10.1M
    }
1114
4.01k
    else {
1115
4.01k
        return 0;
1116
4.01k
    }
1117
10.1M
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
1094
8.99M
{
1095
8.99M
    if constexpr (ranges::sized_range<Range>) {
1096
8.99M
        return r.size();
1097
8.99M
    }
1098
8.99M
    else if constexpr (std::is_same_v<
1099
8.99M
                           ranges::const_iterator_t<Range>,
1100
8.99M
                           typename detail::basic_scan_buffer<
1101
8.99M
                               detail::char_t<Range>>::forward_iterator>) {
1102
8.99M
        if constexpr (ranges::common_range<Range>) {
1103
8.99M
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
8.99M
        }
1105
8.99M
        else {
1106
8.99M
            if (r.begin().stores_parent()) {
1107
8.99M
                return static_cast<size_t>(
1108
8.99M
                    r.begin().parent()->chars_available() -
1109
8.99M
                    r.begin().position());
1110
8.99M
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
8.99M
        }
1113
8.99M
    }
1114
8.99M
    else {
1115
8.99M
        return 0;
1116
8.99M
    }
1117
8.99M
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
1094
2.33k
{
1095
2.33k
    if constexpr (ranges::sized_range<Range>) {
1096
2.33k
        return r.size();
1097
2.33k
    }
1098
2.33k
    else if constexpr (std::is_same_v<
1099
2.33k
                           ranges::const_iterator_t<Range>,
1100
2.33k
                           typename detail::basic_scan_buffer<
1101
2.33k
                               detail::char_t<Range>>::forward_iterator>) {
1102
2.33k
        if constexpr (ranges::common_range<Range>) {
1103
2.33k
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
2.33k
        }
1105
2.33k
        else {
1106
2.33k
            if (r.begin().stores_parent()) {
1107
2.33k
                return static_cast<size_t>(
1108
2.33k
                    r.begin().parent()->chars_available() -
1109
2.33k
                    r.begin().position());
1110
2.33k
            }
1111
2.33k
            return r.begin().contiguous_segment().size();
1112
2.33k
        }
1113
2.33k
    }
1114
2.33k
    else {
1115
2.33k
        return 0;
1116
2.33k
    }
1117
2.33k
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
1094
1.19M
{
1095
1.19M
    if constexpr (ranges::sized_range<Range>) {
1096
1.19M
        return r.size();
1097
1.19M
    }
1098
1.19M
    else if constexpr (std::is_same_v<
1099
1.19M
                           ranges::const_iterator_t<Range>,
1100
1.19M
                           typename detail::basic_scan_buffer<
1101
1.19M
                               detail::char_t<Range>>::forward_iterator>) {
1102
1.19M
        if constexpr (ranges::common_range<Range>) {
1103
1.19M
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
1.19M
        }
1105
1.19M
        else {
1106
1.19M
            if (r.begin().stores_parent()) {
1107
1.19M
                return static_cast<size_t>(
1108
1.19M
                    r.begin().parent()->chars_available() -
1109
1.19M
                    r.begin().position());
1110
1.19M
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
1.19M
        }
1113
1.19M
    }
1114
1.19M
    else {
1115
1.19M
        return 0;
1116
1.19M
    }
1117
1.19M
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
1094
526
{
1095
526
    if constexpr (ranges::sized_range<Range>) {
1096
526
        return r.size();
1097
526
    }
1098
526
    else if constexpr (std::is_same_v<
1099
526
                           ranges::const_iterator_t<Range>,
1100
526
                           typename detail::basic_scan_buffer<
1101
526
                               detail::char_t<Range>>::forward_iterator>) {
1102
526
        if constexpr (ranges::common_range<Range>) {
1103
526
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
526
        }
1105
526
        else {
1106
526
            if (r.begin().stores_parent()) {
1107
526
                return static_cast<size_t>(
1108
526
                    r.begin().parent()->chars_available() -
1109
526
                    r.begin().position());
1110
526
            }
1111
526
            return r.begin().contiguous_segment().size();
1112
526
        }
1113
526
    }
1114
526
    else {
1115
526
        return 0;
1116
526
    }
1117
526
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
1094
204
{
1095
204
    if constexpr (ranges::sized_range<Range>) {
1096
204
        return r.size();
1097
204
    }
1098
204
    else if constexpr (std::is_same_v<
1099
204
                           ranges::const_iterator_t<Range>,
1100
204
                           typename detail::basic_scan_buffer<
1101
204
                               detail::char_t<Range>>::forward_iterator>) {
1102
204
        if constexpr (ranges::common_range<Range>) {
1103
204
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
204
        }
1105
204
        else {
1106
204
            if (r.begin().stores_parent()) {
1107
204
                return static_cast<size_t>(
1108
204
                    r.begin().parent()->chars_available() -
1109
204
                    r.begin().position());
1110
204
            }
1111
204
            return r.begin().contiguous_segment().size();
1112
204
        }
1113
204
    }
1114
204
    else {
1115
204
        return 0;
1116
204
    }
1117
204
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1094
628
{
1095
628
    if constexpr (ranges::sized_range<Range>) {
1096
628
        return r.size();
1097
628
    }
1098
628
    else if constexpr (std::is_same_v<
1099
628
                           ranges::const_iterator_t<Range>,
1100
628
                           typename detail::basic_scan_buffer<
1101
628
                               detail::char_t<Range>>::forward_iterator>) {
1102
628
        if constexpr (ranges::common_range<Range>) {
1103
628
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
628
        }
1105
628
        else {
1106
628
            if (r.begin().stores_parent()) {
1107
628
                return static_cast<size_t>(
1108
628
                    r.begin().parent()->chars_available() -
1109
628
                    r.begin().position());
1110
628
            }
1111
628
            return r.begin().contiguous_segment().size();
1112
628
        }
1113
628
    }
1114
628
    else {
1115
628
        return 0;
1116
628
    }
1117
628
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
1094
324
{
1095
324
    if constexpr (ranges::sized_range<Range>) {
1096
324
        return r.size();
1097
324
    }
1098
324
    else if constexpr (std::is_same_v<
1099
324
                           ranges::const_iterator_t<Range>,
1100
324
                           typename detail::basic_scan_buffer<
1101
324
                               detail::char_t<Range>>::forward_iterator>) {
1102
324
        if constexpr (ranges::common_range<Range>) {
1103
324
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
324
        }
1105
324
        else {
1106
324
            if (r.begin().stores_parent()) {
1107
324
                return static_cast<size_t>(
1108
324
                    r.begin().parent()->chars_available() -
1109
324
                    r.begin().position());
1110
324
            }
1111
324
            return r.begin().contiguous_segment().size();
1112
324
        }
1113
324
    }
1114
324
    else {
1115
324
        return 0;
1116
324
    }
1117
324
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
1118
1119
template <typename I, typename T>
1120
struct iterator_value_result {
1121
    SCN_NO_UNIQUE_ADDRESS I iterator;
1122
    SCN_NO_UNIQUE_ADDRESS T value;
1123
};
1124
1125
/////////////////////////////////////////////////////////////////
1126
// Unicode
1127
/////////////////////////////////////////////////////////////////
1128
1129
template <typename CharT>
1130
constexpr bool validate_unicode(std::basic_string_view<CharT> src)
1131
75.3M
{
1132
75.3M
    auto it = src.begin();
1133
636M
    while (it != src.end()) {
1134
561M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
561M
        if (len == 0) {
1136
3.22k
            return false;
1137
3.22k
        }
1138
561M
        if (src.end() - it < len) {
1139
552
            return false;
1140
552
        }
1141
561M
        const auto cp = detail::decode_code_point_exhaustive(
1142
561M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
561M
        if (cp >= detail::invalid_code_point) {
1144
15.5k
            return false;
1145
15.5k
        }
1146
561M
        it += len;
1147
561M
    }
1148
75.3M
    return true;
1149
75.3M
}
bool scn::v3::impl::validate_unicode<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1131
509k
{
1132
509k
    auto it = src.begin();
1133
4.49M
    while (it != src.end()) {
1134
3.98M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
3.98M
        if (len == 0) {
1136
3.22k
            return false;
1137
3.22k
        }
1138
3.98M
        if (src.end() - it < len) {
1139
552
            return false;
1140
552
        }
1141
3.98M
        const auto cp = detail::decode_code_point_exhaustive(
1142
3.98M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
3.98M
        if (cp >= detail::invalid_code_point) {
1144
2.99k
            return false;
1145
2.99k
        }
1146
3.98M
        it += len;
1147
3.98M
    }
1148
503k
    return true;
1149
509k
}
bool scn::v3::impl::validate_unicode<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1131
74.8M
{
1132
74.8M
    auto it = src.begin();
1133
632M
    while (it != src.end()) {
1134
557M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
557M
        if (len == 0) {
1136
0
            return false;
1137
0
        }
1138
557M
        if (src.end() - it < len) {
1139
0
            return false;
1140
0
        }
1141
557M
        const auto cp = detail::decode_code_point_exhaustive(
1142
557M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
557M
        if (cp >= detail::invalid_code_point) {
1144
12.5k
            return false;
1145
12.5k
        }
1146
557M
        it += len;
1147
557M
    }
1148
74.7M
    return true;
1149
74.8M
}
1150
1151
template <typename Range>
1152
constexpr auto get_start_for_next_code_point(Range input)
1153
    -> ranges::const_iterator_t<Range>
1154
110k
{
1155
110k
    auto it = input.begin();
1156
780k
    for (; it != input.end(); ++it) {
1157
763k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
92.8k
            break;
1159
92.8k
        }
1160
763k
    }
1161
110k
    return it;
1162
110k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
1154
83.5k
{
1155
83.5k
    auto it = input.begin();
1156
610k
    for (; it != input.end(); ++it) {
1157
596k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
69.2k
            break;
1159
69.2k
        }
1160
596k
    }
1161
83.5k
    return it;
1162
83.5k
}
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Line
Count
Source
1154
3.98k
{
1155
3.98k
    auto it = input.begin();
1156
10.4k
    for (; it != input.end(); ++it) {
1157
10.2k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
3.86k
            break;
1159
3.86k
        }
1160
10.2k
    }
1161
3.98k
    return it;
1162
3.98k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
1154
21.3k
{
1155
21.3k
    auto it = input.begin();
1156
156k
    for (; it != input.end(); ++it) {
1157
154k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
18.5k
            break;
1159
18.5k
        }
1160
154k
    }
1161
21.3k
    return it;
1162
21.3k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1154
1.23k
{
1155
1.23k
    auto it = input.begin();
1156
2.92k
    for (; it != input.end(); ++it) {
1157
2.87k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
1.18k
            break;
1159
1.18k
        }
1160
2.87k
    }
1161
1.23k
    return it;
1162
1.23k
}
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
1163
1164
template <typename CharT>
1165
constexpr auto get_next_code_point(std::basic_string_view<CharT> input)
1166
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1167
                             char32_t>
1168
4.88M
{
1169
4.88M
    SCN_EXPECT(!input.empty());
1170
1171
4.88M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
4.88M
    if (SCN_UNLIKELY(len == 0)) {
1173
83.5k
        return {get_start_for_next_code_point(input),
1174
83.5k
                detail::invalid_code_point};
1175
83.5k
    }
1176
4.79M
    if (SCN_UNLIKELY(len > input.size())) {
1177
17.2k
        return {input.end(), detail::invalid_code_point};
1178
17.2k
    }
1179
1180
4.77M
    return {input.begin() + len,
1181
4.77M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
4.79M
}
scn::v3::impl::iterator_value_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, char32_t> scn::v3::impl::get_next_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1168
4.42M
{
1169
4.42M
    SCN_EXPECT(!input.empty());
1170
1171
4.42M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
4.42M
    if (SCN_UNLIKELY(len == 0)) {
1173
83.5k
        return {get_start_for_next_code_point(input),
1174
83.5k
                detail::invalid_code_point};
1175
83.5k
    }
1176
4.33M
    if (SCN_UNLIKELY(len > input.size())) {
1177
17.2k
        return {input.end(), detail::invalid_code_point};
1178
17.2k
    }
1179
1180
4.32M
    return {input.begin() + len,
1181
4.32M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
4.33M
}
scn::v3::impl::iterator_value_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, char32_t> scn::v3::impl::get_next_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1168
459k
{
1169
459k
    SCN_EXPECT(!input.empty());
1170
1171
459k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
459k
    if (SCN_UNLIKELY(len == 0)) {
1173
0
        return {get_start_for_next_code_point(input),
1174
0
                detail::invalid_code_point};
1175
0
    }
1176
459k
    if (SCN_UNLIKELY(len > input.size())) {
1177
0
        return {input.end(), detail::invalid_code_point};
1178
0
    }
1179
1180
459k
    return {input.begin() + len,
1181
459k
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
459k
}
1183
1184
template <typename CharT>
1185
constexpr auto get_next_code_point_valid(std::basic_string_view<CharT> input)
1186
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1187
                             char32_t>
1188
150k
{
1189
150k
    SCN_EXPECT(!input.empty());
1190
1191
150k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1192
150k
    SCN_EXPECT(len <= input.size());
1193
1194
150k
    return {input.begin() + len,
1195
150k
            detail::decode_code_point_exhaustive_valid(input.substr(0, len))};
1196
150k
}
1197
1198
constexpr bool is_cp_space(char32_t cp) noexcept
1199
865M
{
1200
    // Pattern_White_Space property
1201
865M
    return (cp >= 0x09 && cp <= 0x0d) ||
1202
865M
           cp == 0x20 ||    // ASCII space characters
1203
865M
           cp == 0x85 ||    // NEXT LINE (NEL)
1204
865M
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
1205
865M
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
1206
865M
           cp == 0x2028 ||  // LINE SEPARATOR
1207
865M
           cp == 0x2029;    // PARAGRAPH SEPARATOR
1208
865M
}
1209
1210
template <typename CharT>
1211
struct is_first_char_space_result {
1212
    ranges::iterator_t<std::basic_string_view<CharT>> iterator;
1213
    char32_t cp;
1214
    bool is_space;
1215
};
1216
1217
template <typename CharT>
1218
inline constexpr auto is_first_char_space(std::basic_string_view<CharT> str)
1219
    -> is_first_char_space_result<CharT>
1220
531k
{
1221
    // TODO: optimize
1222
531k
    SCN_EXPECT(!str.empty());
1223
531k
    auto res = get_next_code_point(str);
1224
531k
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
531k
}
scn::v3::impl::is_first_char_space_result<char> scn::v3::impl::is_first_char_space<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1220
77.8k
{
1221
    // TODO: optimize
1222
77.8k
    SCN_EXPECT(!str.empty());
1223
77.8k
    auto res = get_next_code_point(str);
1224
77.8k
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
77.8k
}
scn::v3::impl::is_first_char_space_result<wchar_t> scn::v3::impl::is_first_char_space<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1220
453k
{
1221
    // TODO: optimize
1222
453k
    SCN_EXPECT(!str.empty());
1223
453k
    auto res = get_next_code_point(str);
1224
453k
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
453k
}
1226
1227
inline constexpr scan_expected<wchar_t> encode_code_point_as_wide_character(
1228
    char32_t cp,
1229
    bool error_on_overflow)
1230
0
{
1231
0
    SCN_EXPECT(cp < detail::invalid_code_point);
1232
0
    if constexpr (sizeof(wchar_t) == sizeof(char32_t)) {
1233
0
        SCN_UNUSED(error_on_overflow);
1234
0
        return static_cast<wchar_t>(cp);
1235
0
    }
1236
0
    else {
1237
0
        if (cp < 0x10000) {
1238
0
            return static_cast<wchar_t>(cp);
1239
0
        }
1240
0
        if (error_on_overflow) {
1241
0
            return unexpected_scan_error(scan_error::value_out_of_range,
1242
0
                                         "Non-BOM code point can't be "
1243
0
                                         "narrowed to a single 2-byte "
1244
0
                                         "wchar_t code unit");
1245
0
        }
1246
        // Return the lead surrogate
1247
0
        return static_cast<wchar_t>(
1248
0
            (static_cast<uint32_t>(cp) - 0x10000) / 0x400 + 0xd800);
1249
0
    }
1250
0
}
1251
1252
template <typename SourceCharT, typename DestCharT>
1253
void transcode_to_string_impl_to32(std::basic_string_view<SourceCharT> src,
1254
                                   std::basic_string<DestCharT>& dest)
1255
11.0k
{
1256
11.0k
    static_assert(sizeof(DestCharT) == 4);
1257
1258
11.0k
    auto it = src.begin();
1259
2.65M
    while (it != src.end()) {
1260
2.64M
        auto res = get_next_code_point(
1261
2.64M
            detail::make_string_view_from_iterators<SourceCharT>(it,
1262
2.64M
                                                                 src.end()));
1263
2.64M
        if (SCN_UNLIKELY(res.value == detail::invalid_code_point)) {
1264
29.3k
            dest.push_back(DestCharT{0xfffd});
1265
29.3k
        }
1266
2.61M
        else {
1267
2.61M
            dest.push_back(res.value);
1268
2.61M
        }
1269
2.64M
        it = detail::make_string_view_iterator(src, res.iterator);
1270
2.64M
    }
1271
11.0k
}
1272
template <typename SourceCharT, typename DestCharT>
1273
void transcode_valid_to_string_impl_to32(
1274
    std::basic_string_view<SourceCharT> src,
1275
    std::basic_string<DestCharT>& dest)
1276
2.01k
{
1277
2.01k
    static_assert(sizeof(DestCharT) == 4);
1278
1279
2.01k
    auto it = src.begin();
1280
152k
    while (it != src.end()) {
1281
150k
        auto res = get_next_code_point_valid(
1282
150k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1283
150k
                                                                 src.end()));
1284
150k
        SCN_EXPECT(res.value < detail::invalid_code_point);
1285
150k
        dest.push_back(res.value);
1286
150k
        it = detail::make_string_view_iterator(src, res.iterator);
1287
150k
    }
1288
2.01k
}
1289
1290
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1291
void transcode_to_string_impl_32to8(std::basic_string_view<SourceCharT> src,
1292
                                    std::basic_string<DestCharT>& dest)
1293
1.01k
{
1294
1.01k
    static_assert(sizeof(SourceCharT) == 4);
1295
1.01k
    static_assert(sizeof(DestCharT) == 1);
1296
1297
16.8k
    for (auto cp : src) {
1298
16.8k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
16.8k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
194
            dest.push_back(static_cast<char>(0xef));
1302
194
            dest.push_back(static_cast<char>(0xbf));
1303
194
            dest.push_back(static_cast<char>(0xbd));
1304
194
        }
1305
16.6k
        else if (cp < 128) {
1306
11.8k
            dest.push_back(static_cast<char>(cp));
1307
11.8k
        }
1308
4.83k
        else if (cp < 2048) {
1309
331
            dest.push_back(
1310
331
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
331
            dest.push_back(
1312
331
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
331
        }
1314
4.50k
        else if (cp < 65536) {
1315
3.85k
            dest.push_back(
1316
3.85k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
3.85k
            dest.push_back(static_cast<char>(
1318
3.85k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
3.85k
            dest.push_back(
1320
3.85k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
3.85k
        }
1322
655
        else {
1323
655
            dest.push_back(
1324
655
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
655
            dest.push_back(static_cast<char>(
1326
655
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
655
            dest.push_back(static_cast<char>(
1328
655
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
655
            dest.push_back(
1330
655
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
655
        }
1332
16.8k
    }
1333
1.01k
}
void scn::v3::impl::transcode_to_string_impl_32to8<true, wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1293
714
{
1294
714
    static_assert(sizeof(SourceCharT) == 4);
1295
714
    static_assert(sizeof(DestCharT) == 1);
1296
1297
4.70k
    for (auto cp : src) {
1298
4.70k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
4.70k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
0
            dest.push_back(static_cast<char>(0xef));
1302
0
            dest.push_back(static_cast<char>(0xbf));
1303
0
            dest.push_back(static_cast<char>(0xbd));
1304
0
        }
1305
4.70k
        else if (cp < 128) {
1306
3.94k
            dest.push_back(static_cast<char>(cp));
1307
3.94k
        }
1308
762
        else if (cp < 2048) {
1309
46
            dest.push_back(
1310
46
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
46
            dest.push_back(
1312
46
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
46
        }
1314
716
        else if (cp < 65536) {
1315
330
            dest.push_back(
1316
330
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
330
            dest.push_back(static_cast<char>(
1318
330
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
330
            dest.push_back(
1320
330
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
330
        }
1322
386
        else {
1323
386
            dest.push_back(
1324
386
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
386
            dest.push_back(static_cast<char>(
1326
386
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
386
            dest.push_back(static_cast<char>(
1328
386
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
386
            dest.push_back(
1330
386
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
386
        }
1332
4.70k
    }
1333
714
}
void scn::v3::impl::transcode_to_string_impl_32to8<false, wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1293
305
{
1294
305
    static_assert(sizeof(SourceCharT) == 4);
1295
305
    static_assert(sizeof(DestCharT) == 1);
1296
1297
12.1k
    for (auto cp : src) {
1298
12.1k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
12.1k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
194
            dest.push_back(static_cast<char>(0xef));
1302
194
            dest.push_back(static_cast<char>(0xbf));
1303
194
            dest.push_back(static_cast<char>(0xbd));
1304
194
        }
1305
11.9k
        else if (cp < 128) {
1306
7.87k
            dest.push_back(static_cast<char>(cp));
1307
7.87k
        }
1308
4.07k
        else if (cp < 2048) {
1309
285
            dest.push_back(
1310
285
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
285
            dest.push_back(
1312
285
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
285
        }
1314
3.78k
        else if (cp < 65536) {
1315
3.52k
            dest.push_back(
1316
3.52k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
3.52k
            dest.push_back(static_cast<char>(
1318
3.52k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
3.52k
            dest.push_back(
1320
3.52k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
3.52k
        }
1322
269
        else {
1323
269
            dest.push_back(
1324
269
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
269
            dest.push_back(static_cast<char>(
1326
269
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
269
            dest.push_back(static_cast<char>(
1328
269
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
269
            dest.push_back(
1330
269
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
269
        }
1332
12.1k
    }
1333
305
}
1334
1335
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1336
void transcode_to_string_impl_32to16(std::basic_string_view<SourceCharT> src,
1337
                                     std::basic_string<DestCharT>& dest)
1338
{
1339
    static_assert(sizeof(SourceCharT) == 4);
1340
    static_assert(sizeof(DestCharT) == 2);
1341
1342
    for (auto cp : src) {
1343
        const auto u32cp = static_cast<uint32_t>(cp);
1344
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1345
            dest.push_back(char16_t{0xfffd});
1346
        }
1347
        else if (cp < 0x10000) {
1348
            dest.push_back(static_cast<char16_t>(cp));
1349
        }
1350
        else {
1351
            dest.push_back(
1352
                static_cast<char16_t>((u32cp - 0x10000) / 0x400 + 0xd800));
1353
            dest.push_back(
1354
                static_cast<char16_t>((u32cp - 0x10000) % 0x400 + 0xd800));
1355
        }
1356
    }
1357
}
1358
1359
template <typename SourceCharT, typename DestCharT>
1360
void transcode_to_string(std::basic_string_view<SourceCharT> src,
1361
                         std::basic_string<DestCharT>& dest)
1362
11.3k
{
1363
11.3k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
11.3k
    if constexpr (sizeof(SourceCharT) == 1) {
1366
11.0k
        if constexpr (sizeof(DestCharT) == 2) {
1367
11.0k
            std::u32string tmp;
1368
11.0k
            transcode_to_string_impl_to32(src, tmp);
1369
11.0k
            return transcode_to_string_impl_32to16<false>(
1370
11.0k
                std::u32string_view{tmp}, dest);
1371
11.0k
        }
1372
11.0k
        else if constexpr (sizeof(DestCharT) == 4) {
1373
11.0k
            return transcode_to_string_impl_to32(src, dest);
1374
11.0k
        }
1375
11.0k
    }
1376
305
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
305
        if constexpr (sizeof(DestCharT) == 1) {
1378
305
            std::u32string tmp;
1379
305
            transcode_to_string_impl_to32(src, tmp);
1380
305
            return transcode_to_string_impl_32to8<false>(
1381
305
                std::u32string_view{tmp}, dest);
1382
305
        }
1383
305
        else if constexpr (sizeof(DestCharT) == 4) {
1384
305
            return trasncode_to_string_impl_to32(src, dest);
1385
305
        }
1386
305
    }
1387
305
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
305
        if constexpr (sizeof(DestCharT) == 1) {
1389
305
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
305
        }
1391
305
        else if constexpr (sizeof(DestCharT) == 2) {
1392
305
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
305
        }
1394
305
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
void scn::v3::impl::transcode_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1362
11.0k
{
1363
11.0k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
11.0k
    if constexpr (sizeof(SourceCharT) == 1) {
1366
11.0k
        if constexpr (sizeof(DestCharT) == 2) {
1367
11.0k
            std::u32string tmp;
1368
11.0k
            transcode_to_string_impl_to32(src, tmp);
1369
11.0k
            return transcode_to_string_impl_32to16<false>(
1370
11.0k
                std::u32string_view{tmp}, dest);
1371
11.0k
        }
1372
11.0k
        else if constexpr (sizeof(DestCharT) == 4) {
1373
11.0k
            return transcode_to_string_impl_to32(src, dest);
1374
11.0k
        }
1375
11.0k
    }
1376
0
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
0
        if constexpr (sizeof(DestCharT) == 1) {
1378
0
            std::u32string tmp;
1379
0
            transcode_to_string_impl_to32(src, tmp);
1380
0
            return transcode_to_string_impl_32to8<false>(
1381
0
                std::u32string_view{tmp}, dest);
1382
0
        }
1383
0
        else if constexpr (sizeof(DestCharT) == 4) {
1384
0
            return trasncode_to_string_impl_to32(src, dest);
1385
0
        }
1386
0
    }
1387
0
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
0
        if constexpr (sizeof(DestCharT) == 1) {
1389
0
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
0
        }
1391
0
        else if constexpr (sizeof(DestCharT) == 2) {
1392
0
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
0
        }
1394
0
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
void scn::v3::impl::transcode_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1362
305
{
1363
305
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
305
    if constexpr (sizeof(SourceCharT) == 1) {
1366
305
        if constexpr (sizeof(DestCharT) == 2) {
1367
305
            std::u32string tmp;
1368
305
            transcode_to_string_impl_to32(src, tmp);
1369
305
            return transcode_to_string_impl_32to16<false>(
1370
305
                std::u32string_view{tmp}, dest);
1371
305
        }
1372
305
        else if constexpr (sizeof(DestCharT) == 4) {
1373
305
            return transcode_to_string_impl_to32(src, dest);
1374
305
        }
1375
305
    }
1376
305
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
305
        if constexpr (sizeof(DestCharT) == 1) {
1378
305
            std::u32string tmp;
1379
305
            transcode_to_string_impl_to32(src, tmp);
1380
305
            return transcode_to_string_impl_32to8<false>(
1381
305
                std::u32string_view{tmp}, dest);
1382
305
        }
1383
305
        else if constexpr (sizeof(DestCharT) == 4) {
1384
305
            return trasncode_to_string_impl_to32(src, dest);
1385
305
        }
1386
305
    }
1387
305
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
305
        if constexpr (sizeof(DestCharT) == 1) {
1389
305
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
305
        }
1391
305
        else if constexpr (sizeof(DestCharT) == 2) {
1392
305
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
305
        }
1394
305
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
1399
template <typename SourceCharT, typename DestCharT>
1400
void transcode_valid_to_string(std::basic_string_view<SourceCharT> src,
1401
                               std::basic_string<DestCharT>& dest)
1402
2.73k
{
1403
2.73k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
2.73k
    SCN_EXPECT(validate_unicode(src));
1406
2.73k
    if constexpr (sizeof(SourceCharT) == 1) {
1407
2.01k
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
2.01k
            std::u32string tmp;
1410
2.01k
            transcode_valid_to_string_impl_to32(src, tmp);
1411
2.01k
            return transcode_to_string_impl_32to16<true>(
1412
2.01k
                std::u32string_view{tmp}, dest);
1413
2.01k
        }
1414
2.01k
        else if constexpr (sizeof(DestCharT) == 4) {
1415
2.01k
            return transcode_valid_to_string_impl_to32(src, dest);
1416
2.01k
        }
1417
2.01k
    }
1418
714
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
714
        if constexpr (sizeof(DestCharT) == 1) {
1420
714
            std::u32string tmp;
1421
714
            transcode_valid_to_string_impl_to32(src, tmp);
1422
714
            return transcode_to_string_impl_32to8<true>(
1423
714
                std::u32string_view{tmp}, dest);
1424
714
        }
1425
714
        else if constexpr (sizeof(DestCharT) == 4) {
1426
714
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
714
        }
1428
714
    }
1429
714
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
714
        if constexpr (sizeof(DestCharT) == 1) {
1431
714
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
714
        }
1433
714
        else if constexpr (sizeof(DestCharT) == 2) {
1434
714
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
714
        }
1436
714
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
void scn::v3::impl::transcode_valid_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1402
2.01k
{
1403
2.01k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
2.01k
    SCN_EXPECT(validate_unicode(src));
1406
2.01k
    if constexpr (sizeof(SourceCharT) == 1) {
1407
2.01k
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
2.01k
            std::u32string tmp;
1410
2.01k
            transcode_valid_to_string_impl_to32(src, tmp);
1411
2.01k
            return transcode_to_string_impl_32to16<true>(
1412
2.01k
                std::u32string_view{tmp}, dest);
1413
2.01k
        }
1414
2.01k
        else if constexpr (sizeof(DestCharT) == 4) {
1415
2.01k
            return transcode_valid_to_string_impl_to32(src, dest);
1416
2.01k
        }
1417
2.01k
    }
1418
0
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
0
        if constexpr (sizeof(DestCharT) == 1) {
1420
0
            std::u32string tmp;
1421
0
            transcode_valid_to_string_impl_to32(src, tmp);
1422
0
            return transcode_to_string_impl_32to8<true>(
1423
0
                std::u32string_view{tmp}, dest);
1424
0
        }
1425
0
        else if constexpr (sizeof(DestCharT) == 4) {
1426
0
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
0
        }
1428
0
    }
1429
0
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
0
        if constexpr (sizeof(DestCharT) == 1) {
1431
0
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
0
        }
1433
0
        else if constexpr (sizeof(DestCharT) == 2) {
1434
0
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
0
        }
1436
0
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
void scn::v3::impl::transcode_valid_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1402
714
{
1403
714
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
714
    SCN_EXPECT(validate_unicode(src));
1406
714
    if constexpr (sizeof(SourceCharT) == 1) {
1407
714
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
714
            std::u32string tmp;
1410
714
            transcode_valid_to_string_impl_to32(src, tmp);
1411
714
            return transcode_to_string_impl_32to16<true>(
1412
714
                std::u32string_view{tmp}, dest);
1413
714
        }
1414
714
        else if constexpr (sizeof(DestCharT) == 4) {
1415
714
            return transcode_valid_to_string_impl_to32(src, dest);
1416
714
        }
1417
714
    }
1418
714
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
714
        if constexpr (sizeof(DestCharT) == 1) {
1420
714
            std::u32string tmp;
1421
714
            transcode_valid_to_string_impl_to32(src, tmp);
1422
714
            return transcode_to_string_impl_32to8<true>(
1423
714
                std::u32string_view{tmp}, dest);
1424
714
        }
1425
714
        else if constexpr (sizeof(DestCharT) == 4) {
1426
714
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
714
        }
1428
714
    }
1429
714
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
714
        if constexpr (sizeof(DestCharT) == 1) {
1431
714
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
714
        }
1433
714
        else if constexpr (sizeof(DestCharT) == 2) {
1434
714
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
714
        }
1436
714
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
1441
1442
template <typename CharT>
1443
constexpr void for_each_code_point(std::basic_string_view<CharT> input,
1444
                                   function_ref<void(char32_t)> cb)
1445
25.9k
{
1446
    // TODO: Could be optimized by being eager
1447
25.9k
    auto it = input.begin();
1448
65.1k
    while (it != input.end()) {
1449
39.1k
        auto res = get_next_code_point(
1450
39.1k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
39.1k
        cb(res.value);
1452
39.1k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
39.1k
    }
1454
25.9k
}
void scn::v3::impl::for_each_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1445
22.4k
{
1446
    // TODO: Could be optimized by being eager
1447
22.4k
    auto it = input.begin();
1448
56.1k
    while (it != input.end()) {
1449
33.7k
        auto res = get_next_code_point(
1450
33.7k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
33.7k
        cb(res.value);
1452
33.7k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
33.7k
    }
1454
22.4k
}
void scn::v3::impl::for_each_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1445
3.46k
{
1446
    // TODO: Could be optimized by being eager
1447
3.46k
    auto it = input.begin();
1448
8.93k
    while (it != input.end()) {
1449
5.47k
        auto res = get_next_code_point(
1450
5.47k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
5.47k
        cb(res.value);
1452
5.47k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
5.47k
    }
1454
3.46k
}
1455
1456
template <typename CharT>
1457
constexpr void for_each_code_point_valid(std::basic_string_view<CharT> input,
1458
                                         function_ref<void(char32_t)> cb)
1459
{
1460
    auto it = input.begin();
1461
    while (it != input.end()) {
1462
        auto res = get_next_code_point_valid(
1463
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1464
        cb(res.value);
1465
        it = detail::make_string_view_iterator(input, res.iterator);
1466
    }
1467
}
1468
1469
/////////////////////////////////////////////////////////////////
1470
// contiguous_range_factory
1471
/////////////////////////////////////////////////////////////////
1472
1473
template <typename View>
1474
class take_width_view;
1475
1476
template <typename CharT>
1477
struct string_view_wrapper {
1478
    using char_type = CharT;
1479
    using string_type = std::basic_string<CharT>;
1480
    using string_view_type = std::basic_string_view<CharT>;
1481
1482
    constexpr string_view_wrapper() = default;
1483
1484
    template <typename Range,
1485
              std::enable_if_t<ranges::borrowed_range<Range> &&
1486
                               ranges::contiguous_range<Range> &&
1487
                               ranges::sized_range<Range>>* = nullptr>
1488
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1489
59.9M
    {
1490
59.9M
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1489
1.99M
    {
1490
1.99M
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1489
5.46M
    {
1490
5.46M
    }
scn::v3::impl::string_view_wrapper<wchar_t>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1489
50.1M
    {
1490
50.1M
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, (void*)0>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1489
2.34M
    {
1490
2.34M
    }
1491
1492
    template <typename Range,
1493
              std::enable_if_t<ranges::borrowed_range<Range> &&
1494
                               ranges::contiguous_range<Range> &&
1495
                               ranges::sized_range<Range>>* = nullptr>
1496
    void assign(Range&& r)
1497
    {
1498
        sv = string_view_type{ranges::data(r), r.size()};
1499
    }
1500
1501
    constexpr auto view() const
1502
94.4M
    {
1503
94.4M
        return sv;
1504
94.4M
    }
scn::v3::impl::string_view_wrapper<char>::view() const
Line
Count
Source
1502
19.3M
    {
1503
19.3M
        return sv;
1504
19.3M
    }
scn::v3::impl::string_view_wrapper<wchar_t>::view() const
Line
Count
Source
1502
75.1M
    {
1503
75.1M
        return sv;
1504
75.1M
    }
1505
1506
    constexpr bool stores_allocated_string() const
1507
0
    {
1508
0
        return false;
1509
0
    }
Unexecuted instantiation: scn::v3::impl::string_view_wrapper<char>::stores_allocated_string() const
Unexecuted instantiation: scn::v3::impl::string_view_wrapper<wchar_t>::stores_allocated_string() const
1510
1511
    [[noreturn]] string_type get_allocated_string() const
1512
    {
1513
        SCN_EXPECT(false);
1514
        SCN_UNREACHABLE;
1515
    }
1516
1517
    string_view_type sv;
1518
};
1519
1520
template <typename Range>
1521
string_view_wrapper(Range)
1522
    -> string_view_wrapper<detail::char_t<detail::remove_cvref_t<Range>>>;
1523
1524
template <typename CharT>
1525
class contiguous_range_factory {
1526
public:
1527
    using char_type = CharT;
1528
    using string_type = std::basic_string<CharT>;
1529
    using string_view_type = std::basic_string_view<CharT>;
1530
1531
11.8M
    contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory()
Line
Count
Source
1531
10.4M
    contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory()
Line
Count
Source
1531
1.42M
    contiguous_range_factory() = default;
1532
1533
    template <typename Range,
1534
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1535
    contiguous_range_factory(Range&& range)
1536
26.6M
    {
1537
26.6M
        emplace_range(SCN_FWD(range));
1538
26.6M
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1536
1.74M
    {
1537
1.74M
        emplace_range(SCN_FWD(range));
1538
1.74M
    }
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1536
1.51k
    {
1537
1.51k
        emplace_range(SCN_FWD(range));
1538
1.51k
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1536
24.9M
    {
1537
24.9M
        emplace_range(SCN_FWD(range));
1538
24.9M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1536
350
    {
1537
350
        emplace_range(SCN_FWD(range));
1538
350
    }
1539
1540
    contiguous_range_factory(string_view_wrapper<CharT> svw)
1541
        : m_storage(std::nullopt), m_view(svw.view())
1542
    {
1543
    }
1544
1545
    contiguous_range_factory(const contiguous_range_factory&) = delete;
1546
    contiguous_range_factory& operator=(const contiguous_range_factory&) =
1547
        delete;
1548
1549
    contiguous_range_factory(contiguous_range_factory&& other)
1550
        : m_storage(SCN_MOVE(other.m_storage))
1551
    {
1552
        if (m_storage) {
1553
            m_view = *m_storage;
1554
        }
1555
        else {
1556
            m_view = other.m_view;
1557
        }
1558
    }
1559
    contiguous_range_factory& operator=(contiguous_range_factory&& other)
1560
    {
1561
        m_storage = SCN_MOVE(other.m_storage);
1562
        if (m_storage) {
1563
            m_view = *m_storage;
1564
        }
1565
        else {
1566
            m_view = other.m_view;
1567
        }
1568
        return *this;
1569
    }
1570
1571
38.5M
    ~contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<char>::~contiguous_range_factory()
Line
Count
Source
1571
12.1M
    ~contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<wchar_t>::~contiguous_range_factory()
Line
Count
Source
1571
26.3M
    ~contiguous_range_factory() = default;
1572
1573
    template <typename Range,
1574
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1575
    void assign(Range&& range)
1576
7.54M
    {
1577
7.54M
        emplace_range(SCN_FWD(range));
1578
7.54M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1576
2.39M
    {
1577
2.39M
        emplace_range(SCN_FWD(range));
1578
2.39M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1576
2.40M
    {
1577
2.40M
        emplace_range(SCN_FWD(range));
1578
2.40M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1576
91.0k
    {
1577
91.0k
        emplace_range(SCN_FWD(range));
1578
91.0k
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1576
234k
    {
1577
234k
        emplace_range(SCN_FWD(range));
1578
234k
    }
void scn::v3::impl::contiguous_range_factory<char>::assign<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, (void*)0>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Line
Count
Source
1576
2.34M
    {
1577
2.34M
        emplace_range(SCN_FWD(range));
1578
2.34M
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, (void*)0>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1576
82.5k
    {
1577
82.5k
        emplace_range(SCN_FWD(range));
1578
82.5k
    }
1579
1580
    string_view_type view() const
1581
71.9M
    {
1582
71.9M
        return m_view;
1583
71.9M
    }
scn::v3::impl::contiguous_range_factory<char>::view() const
Line
Count
Source
1581
21.0M
    {
1582
21.0M
        return m_view;
1583
21.0M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::view() const
Line
Count
Source
1581
50.9M
    {
1582
50.9M
        return m_view;
1583
50.9M
    }
1584
1585
    constexpr bool stores_allocated_string() const
1586
31.2M
    {
1587
31.2M
        return m_storage.has_value();
1588
31.2M
    }
scn::v3::impl::contiguous_range_factory<char>::stores_allocated_string() const
Line
Count
Source
1586
6.14M
    {
1587
6.14M
        return m_storage.has_value();
1588
6.14M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::stores_allocated_string() const
Line
Count
Source
1586
25.1M
    {
1587
25.1M
        return m_storage.has_value();
1588
25.1M
    }
1589
1590
    string_type& get_allocated_string() &
1591
3.63M
    {
1592
3.63M
        SCN_EXPECT(stores_allocated_string());
1593
3.63M
        return *m_storage;
1594
3.63M
    }
scn::v3::impl::contiguous_range_factory<char>::get_allocated_string() &
Line
Count
Source
1591
3.51M
    {
1592
3.51M
        SCN_EXPECT(stores_allocated_string());
1593
3.51M
        return *m_storage;
1594
3.51M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::get_allocated_string() &
Line
Count
Source
1591
122k
    {
1592
122k
        SCN_EXPECT(stores_allocated_string());
1593
122k
        return *m_storage;
1594
122k
    }
1595
    const string_type& get_allocated_string() const&
1596
    {
1597
        SCN_EXPECT(stores_allocated_string());
1598
        return *m_storage;
1599
    }
1600
    string_type&& get_allocated_string() &&
1601
    {
1602
        SCN_EXPECT(stores_allocated_string());
1603
        return *m_storage;
1604
    }
1605
1606
    string_type& make_into_allocated_string()
1607
0
    {
1608
0
        if (stores_allocated_string()) {
1609
0
            return get_allocated_string();
1610
0
        }
1611
1612
0
        auto& str = m_storage.emplace(m_view.data(), m_view.size());
1613
0
        m_view = string_view_type{str.data(), str.size()};
1614
0
        return str;
1615
0
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<char>::make_into_allocated_string()
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<wchar_t>::make_into_allocated_string()
1616
1617
private:
1618
    template <typename Range>
1619
    void emplace_range(Range&& range)
1620
34.2M
    {
1621
34.2M
        using value_t = ranges::range_value_t<Range>;
1622
1623
34.2M
        if constexpr (ranges::borrowed_range<Range> &&
1624
34.2M
                      ranges::contiguous_range<Range> &&
1625
34.2M
                      ranges::sized_range<Range>) {
1626
31.5M
            m_storage.reset();
1627
31.5M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
31.5M
        }
1629
31.5M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
31.5M
                                          std::basic_string<CharT>>) {
1631
29.1M
            m_storage.emplace(SCN_FWD(range));
1632
2.42M
            m_view = string_view_type{*m_storage};
1633
2.42M
        }
1634
29.1M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
29.1M
                                          typename detail::basic_scan_buffer<
1636
29.1M
                                              value_t>::forward_iterator> &&
1637
29.1M
                           ranges::common_range<Range>) {
1638
1.86k
            auto beg_seg = range.begin().contiguous_segment();
1639
1.86k
            auto end_seg = range.end().contiguous_segment();
1640
29.1M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
1.44M
                             detail::to_address(end_seg.end()))) {
1642
1.44M
                auto& str = m_storage.emplace();
1643
1.44M
                str.reserve(range.end().position() - range.begin().position());
1644
1.44M
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.44M
                m_view = string_view_type{str};
1646
1.44M
                return;
1647
1.44M
            }
1648
1649
27.7M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
27.7M
                                                            end_seg.data());
1651
27.7M
            m_storage.reset();
1652
27.7M
        }
1653
1.86k
        else {
1654
1.86k
            auto& str = m_storage.emplace();
1655
1.86k
            if constexpr (ranges::sized_range<Range>) {
1656
1.86k
                str.reserve(range.size());
1657
1.86k
            }
1658
1.86k
            if constexpr (ranges::common_range<Range>) {
1659
1.86k
                std::copy(ranges::begin(range), ranges::end(range),
1660
1.86k
                          std::back_inserter(str));
1661
1.86k
            }
1662
1.86k
            else {
1663
1.86k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
1.86k
                     ++it) {
1665
1.86k
                    str.push_back(*it);
1666
1.86k
                }
1667
1.86k
            }
1668
1.86k
            m_view = string_view_type{str};
1669
1.86k
        }
1670
34.2M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1620
4.13M
    {
1621
4.13M
        using value_t = ranges::range_value_t<Range>;
1622
1623
4.13M
        if constexpr (ranges::borrowed_range<Range> &&
1624
4.13M
                      ranges::contiguous_range<Range> &&
1625
4.13M
                      ranges::sized_range<Range>) {
1626
4.13M
            m_storage.reset();
1627
4.13M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
4.13M
        }
1629
4.13M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
4.13M
                                          std::basic_string<CharT>>) {
1631
4.13M
            m_storage.emplace(SCN_FWD(range));
1632
4.13M
            m_view = string_view_type{*m_storage};
1633
4.13M
        }
1634
4.13M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
4.13M
                                          typename detail::basic_scan_buffer<
1636
4.13M
                                              value_t>::forward_iterator> &&
1637
4.13M
                           ranges::common_range<Range>) {
1638
4.13M
            auto beg_seg = range.begin().contiguous_segment();
1639
4.13M
            auto end_seg = range.end().contiguous_segment();
1640
4.13M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
4.13M
                             detail::to_address(end_seg.end()))) {
1642
1.42M
                auto& str = m_storage.emplace();
1643
1.42M
                str.reserve(range.end().position() - range.begin().position());
1644
1.42M
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.42M
                m_view = string_view_type{str};
1646
1.42M
                return;
1647
1.42M
            }
1648
1649
2.71M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
2.71M
                                                            end_seg.data());
1651
2.71M
            m_storage.reset();
1652
2.71M
        }
1653
4.13M
        else {
1654
4.13M
            auto& str = m_storage.emplace();
1655
4.13M
            if constexpr (ranges::sized_range<Range>) {
1656
4.13M
                str.reserve(range.size());
1657
4.13M
            }
1658
4.13M
            if constexpr (ranges::common_range<Range>) {
1659
4.13M
                std::copy(ranges::begin(range), ranges::end(range),
1660
4.13M
                          std::back_inserter(str));
1661
4.13M
            }
1662
4.13M
            else {
1663
4.13M
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
4.13M
                     ++it) {
1665
4.13M
                    str.push_back(*it);
1666
4.13M
                }
1667
4.13M
            }
1668
4.13M
            m_view = string_view_type{str};
1669
4.13M
        }
1670
4.13M
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1620
1.51k
    {
1621
1.51k
        using value_t = ranges::range_value_t<Range>;
1622
1623
1.51k
        if constexpr (ranges::borrowed_range<Range> &&
1624
1.51k
                      ranges::contiguous_range<Range> &&
1625
1.51k
                      ranges::sized_range<Range>) {
1626
1.51k
            m_storage.reset();
1627
1.51k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
1.51k
        }
1629
1.51k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
1.51k
                                          std::basic_string<CharT>>) {
1631
1.51k
            m_storage.emplace(SCN_FWD(range));
1632
1.51k
            m_view = string_view_type{*m_storage};
1633
1.51k
        }
1634
1.51k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
1.51k
                                          typename detail::basic_scan_buffer<
1636
1.51k
                                              value_t>::forward_iterator> &&
1637
1.51k
                           ranges::common_range<Range>) {
1638
1.51k
            auto beg_seg = range.begin().contiguous_segment();
1639
1.51k
            auto end_seg = range.end().contiguous_segment();
1640
1.51k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
1.51k
                             detail::to_address(end_seg.end()))) {
1642
1.51k
                auto& str = m_storage.emplace();
1643
1.51k
                str.reserve(range.end().position() - range.begin().position());
1644
1.51k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.51k
                m_view = string_view_type{str};
1646
1.51k
                return;
1647
1.51k
            }
1648
1649
1.51k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
1.51k
                                                            end_seg.data());
1651
1.51k
            m_storage.reset();
1652
1.51k
        }
1653
1.51k
        else {
1654
1.51k
            auto& str = m_storage.emplace();
1655
1.51k
            if constexpr (ranges::sized_range<Range>) {
1656
1.51k
                str.reserve(range.size());
1657
1.51k
            }
1658
1.51k
            if constexpr (ranges::common_range<Range>) {
1659
1.51k
                std::copy(ranges::begin(range), ranges::end(range),
1660
1.51k
                          std::back_inserter(str));
1661
1.51k
            }
1662
1.51k
            else {
1663
1.51k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
1.51k
                     ++it) {
1665
1.51k
                    str.push_back(*it);
1666
1.51k
                }
1667
1.51k
            }
1668
1.51k
            m_view = string_view_type{str};
1669
1.51k
        }
1670
1.51k
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1620
2.40M
    {
1621
2.40M
        using value_t = ranges::range_value_t<Range>;
1622
1623
2.40M
        if constexpr (ranges::borrowed_range<Range> &&
1624
2.40M
                      ranges::contiguous_range<Range> &&
1625
2.40M
                      ranges::sized_range<Range>) {
1626
2.40M
            m_storage.reset();
1627
2.40M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
2.40M
        }
1629
2.40M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
2.40M
                                          std::basic_string<CharT>>) {
1631
2.40M
            m_storage.emplace(SCN_FWD(range));
1632
2.40M
            m_view = string_view_type{*m_storage};
1633
2.40M
        }
1634
2.40M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
2.40M
                                          typename detail::basic_scan_buffer<
1636
2.40M
                                              value_t>::forward_iterator> &&
1637
2.40M
                           ranges::common_range<Range>) {
1638
2.40M
            auto beg_seg = range.begin().contiguous_segment();
1639
2.40M
            auto end_seg = range.end().contiguous_segment();
1640
2.40M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
2.40M
                             detail::to_address(end_seg.end()))) {
1642
2.40M
                auto& str = m_storage.emplace();
1643
2.40M
                str.reserve(range.end().position() - range.begin().position());
1644
2.40M
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
2.40M
                m_view = string_view_type{str};
1646
2.40M
                return;
1647
2.40M
            }
1648
1649
2.40M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
2.40M
                                                            end_seg.data());
1651
2.40M
            m_storage.reset();
1652
2.40M
        }
1653
2.40M
        else {
1654
2.40M
            auto& str = m_storage.emplace();
1655
2.40M
            if constexpr (ranges::sized_range<Range>) {
1656
2.40M
                str.reserve(range.size());
1657
2.40M
            }
1658
2.40M
            if constexpr (ranges::common_range<Range>) {
1659
2.40M
                std::copy(ranges::begin(range), ranges::end(range),
1660
2.40M
                          std::back_inserter(str));
1661
2.40M
            }
1662
2.40M
            else {
1663
2.40M
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
2.40M
                     ++it) {
1665
2.40M
                    str.push_back(*it);
1666
2.40M
                }
1667
2.40M
            }
1668
2.40M
            m_view = string_view_type{str};
1669
2.40M
        }
1670
2.40M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1620
25.0M
    {
1621
25.0M
        using value_t = ranges::range_value_t<Range>;
1622
1623
25.0M
        if constexpr (ranges::borrowed_range<Range> &&
1624
25.0M
                      ranges::contiguous_range<Range> &&
1625
25.0M
                      ranges::sized_range<Range>) {
1626
25.0M
            m_storage.reset();
1627
25.0M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
25.0M
        }
1629
25.0M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
25.0M
                                          std::basic_string<CharT>>) {
1631
25.0M
            m_storage.emplace(SCN_FWD(range));
1632
25.0M
            m_view = string_view_type{*m_storage};
1633
25.0M
        }
1634
25.0M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
25.0M
                                          typename detail::basic_scan_buffer<
1636
25.0M
                                              value_t>::forward_iterator> &&
1637
25.0M
                           ranges::common_range<Range>) {
1638
25.0M
            auto beg_seg = range.begin().contiguous_segment();
1639
25.0M
            auto end_seg = range.end().contiguous_segment();
1640
25.0M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
25.0M
                             detail::to_address(end_seg.end()))) {
1642
13.2k
                auto& str = m_storage.emplace();
1643
13.2k
                str.reserve(range.end().position() - range.begin().position());
1644
13.2k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
13.2k
                m_view = string_view_type{str};
1646
13.2k
                return;
1647
13.2k
            }
1648
1649
25.0M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
25.0M
                                                            end_seg.data());
1651
25.0M
            m_storage.reset();
1652
25.0M
        }
1653
25.0M
        else {
1654
25.0M
            auto& str = m_storage.emplace();
1655
25.0M
            if constexpr (ranges::sized_range<Range>) {
1656
25.0M
                str.reserve(range.size());
1657
25.0M
            }
1658
25.0M
            if constexpr (ranges::common_range<Range>) {
1659
25.0M
                std::copy(ranges::begin(range), ranges::end(range),
1660
25.0M
                          std::back_inserter(str));
1661
25.0M
            }
1662
25.0M
            else {
1663
25.0M
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
25.0M
                     ++it) {
1665
25.0M
                    str.push_back(*it);
1666
25.0M
                }
1667
25.0M
            }
1668
25.0M
            m_view = string_view_type{str};
1669
25.0M
        }
1670
25.0M
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1620
350
    {
1621
350
        using value_t = ranges::range_value_t<Range>;
1622
1623
350
        if constexpr (ranges::borrowed_range<Range> &&
1624
350
                      ranges::contiguous_range<Range> &&
1625
350
                      ranges::sized_range<Range>) {
1626
350
            m_storage.reset();
1627
350
            m_view = string_view_type{ranges::data(range), range.size()};
1628
350
        }
1629
350
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
350
                                          std::basic_string<CharT>>) {
1631
350
            m_storage.emplace(SCN_FWD(range));
1632
350
            m_view = string_view_type{*m_storage};
1633
350
        }
1634
350
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
350
                                          typename detail::basic_scan_buffer<
1636
350
                                              value_t>::forward_iterator> &&
1637
350
                           ranges::common_range<Range>) {
1638
350
            auto beg_seg = range.begin().contiguous_segment();
1639
350
            auto end_seg = range.end().contiguous_segment();
1640
350
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
350
                             detail::to_address(end_seg.end()))) {
1642
350
                auto& str = m_storage.emplace();
1643
350
                str.reserve(range.end().position() - range.begin().position());
1644
350
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
350
                m_view = string_view_type{str};
1646
350
                return;
1647
350
            }
1648
1649
350
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
350
                                                            end_seg.data());
1651
350
            m_storage.reset();
1652
350
        }
1653
350
        else {
1654
350
            auto& str = m_storage.emplace();
1655
350
            if constexpr (ranges::sized_range<Range>) {
1656
350
                str.reserve(range.size());
1657
350
            }
1658
350
            if constexpr (ranges::common_range<Range>) {
1659
350
                std::copy(ranges::begin(range), ranges::end(range),
1660
350
                          std::back_inserter(str));
1661
350
            }
1662
350
            else {
1663
350
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
350
                     ++it) {
1665
350
                    str.push_back(*it);
1666
350
                }
1667
350
            }
1668
350
            m_view = string_view_type{str};
1669
350
        }
1670
350
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1620
234k
    {
1621
234k
        using value_t = ranges::range_value_t<Range>;
1622
1623
234k
        if constexpr (ranges::borrowed_range<Range> &&
1624
234k
                      ranges::contiguous_range<Range> &&
1625
234k
                      ranges::sized_range<Range>) {
1626
234k
            m_storage.reset();
1627
234k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
234k
        }
1629
234k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
234k
                                          std::basic_string<CharT>>) {
1631
234k
            m_storage.emplace(SCN_FWD(range));
1632
234k
            m_view = string_view_type{*m_storage};
1633
234k
        }
1634
234k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
234k
                                          typename detail::basic_scan_buffer<
1636
234k
                                              value_t>::forward_iterator> &&
1637
234k
                           ranges::common_range<Range>) {
1638
234k
            auto beg_seg = range.begin().contiguous_segment();
1639
234k
            auto end_seg = range.end().contiguous_segment();
1640
234k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
234k
                             detail::to_address(end_seg.end()))) {
1642
234k
                auto& str = m_storage.emplace();
1643
234k
                str.reserve(range.end().position() - range.begin().position());
1644
234k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
234k
                m_view = string_view_type{str};
1646
234k
                return;
1647
234k
            }
1648
1649
234k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
234k
                                                            end_seg.data());
1651
234k
            m_storage.reset();
1652
234k
        }
1653
234k
        else {
1654
234k
            auto& str = m_storage.emplace();
1655
234k
            if constexpr (ranges::sized_range<Range>) {
1656
234k
                str.reserve(range.size());
1657
234k
            }
1658
234k
            if constexpr (ranges::common_range<Range>) {
1659
234k
                std::copy(ranges::begin(range), ranges::end(range),
1660
234k
                          std::back_inserter(str));
1661
234k
            }
1662
234k
            else {
1663
234k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
234k
                     ++it) {
1665
234k
                    str.push_back(*it);
1666
234k
                }
1667
234k
            }
1668
234k
            m_view = string_view_type{str};
1669
234k
        }
1670
234k
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Line
Count
Source
1620
2.34M
    {
1621
2.34M
        using value_t = ranges::range_value_t<Range>;
1622
1623
2.34M
        if constexpr (ranges::borrowed_range<Range> &&
1624
2.34M
                      ranges::contiguous_range<Range> &&
1625
2.34M
                      ranges::sized_range<Range>) {
1626
2.34M
            m_storage.reset();
1627
2.34M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
2.34M
        }
1629
2.34M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
2.34M
                                          std::basic_string<CharT>>) {
1631
2.34M
            m_storage.emplace(SCN_FWD(range));
1632
2.34M
            m_view = string_view_type{*m_storage};
1633
2.34M
        }
1634
2.34M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
2.34M
                                          typename detail::basic_scan_buffer<
1636
2.34M
                                              value_t>::forward_iterator> &&
1637
2.34M
                           ranges::common_range<Range>) {
1638
2.34M
            auto beg_seg = range.begin().contiguous_segment();
1639
2.34M
            auto end_seg = range.end().contiguous_segment();
1640
2.34M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
2.34M
                             detail::to_address(end_seg.end()))) {
1642
2.34M
                auto& str = m_storage.emplace();
1643
2.34M
                str.reserve(range.end().position() - range.begin().position());
1644
2.34M
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
2.34M
                m_view = string_view_type{str};
1646
2.34M
                return;
1647
2.34M
            }
1648
1649
2.34M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
2.34M
                                                            end_seg.data());
1651
2.34M
            m_storage.reset();
1652
2.34M
        }
1653
2.34M
        else {
1654
2.34M
            auto& str = m_storage.emplace();
1655
2.34M
            if constexpr (ranges::sized_range<Range>) {
1656
2.34M
                str.reserve(range.size());
1657
2.34M
            }
1658
2.34M
            if constexpr (ranges::common_range<Range>) {
1659
2.34M
                std::copy(ranges::begin(range), ranges::end(range),
1660
2.34M
                          std::back_inserter(str));
1661
2.34M
            }
1662
2.34M
            else {
1663
2.34M
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
2.34M
                     ++it) {
1665
2.34M
                    str.push_back(*it);
1666
2.34M
                }
1667
2.34M
            }
1668
2.34M
            m_view = string_view_type{str};
1669
2.34M
        }
1670
2.34M
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1620
82.5k
    {
1621
82.5k
        using value_t = ranges::range_value_t<Range>;
1622
1623
82.5k
        if constexpr (ranges::borrowed_range<Range> &&
1624
82.5k
                      ranges::contiguous_range<Range> &&
1625
82.5k
                      ranges::sized_range<Range>) {
1626
82.5k
            m_storage.reset();
1627
82.5k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
82.5k
        }
1629
82.5k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
82.5k
                                          std::basic_string<CharT>>) {
1631
82.5k
            m_storage.emplace(SCN_FWD(range));
1632
82.5k
            m_view = string_view_type{*m_storage};
1633
82.5k
        }
1634
82.5k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
82.5k
                                          typename detail::basic_scan_buffer<
1636
82.5k
                                              value_t>::forward_iterator> &&
1637
82.5k
                           ranges::common_range<Range>) {
1638
82.5k
            auto beg_seg = range.begin().contiguous_segment();
1639
82.5k
            auto end_seg = range.end().contiguous_segment();
1640
82.5k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
82.5k
                             detail::to_address(end_seg.end()))) {
1642
82.5k
                auto& str = m_storage.emplace();
1643
82.5k
                str.reserve(range.end().position() - range.begin().position());
1644
82.5k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
82.5k
                m_view = string_view_type{str};
1646
82.5k
                return;
1647
82.5k
            }
1648
1649
82.5k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
82.5k
                                                            end_seg.data());
1651
82.5k
            m_storage.reset();
1652
82.5k
        }
1653
82.5k
        else {
1654
82.5k
            auto& str = m_storage.emplace();
1655
82.5k
            if constexpr (ranges::sized_range<Range>) {
1656
82.5k
                str.reserve(range.size());
1657
82.5k
            }
1658
82.5k
            if constexpr (ranges::common_range<Range>) {
1659
82.5k
                std::copy(ranges::begin(range), ranges::end(range),
1660
82.5k
                          std::back_inserter(str));
1661
82.5k
            }
1662
82.5k
            else {
1663
82.5k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
82.5k
                     ++it) {
1665
82.5k
                    str.push_back(*it);
1666
82.5k
                }
1667
82.5k
            }
1668
82.5k
            m_view = string_view_type{str};
1669
82.5k
        }
1670
82.5k
    }
1671
1672
    std::optional<string_type> m_storage{std::nullopt};
1673
    string_view_type m_view{};
1674
};
1675
1676
template <typename Range>
1677
contiguous_range_factory(Range)
1678
    -> contiguous_range_factory<detail::char_t<detail::remove_cvref_t<Range>>>;
1679
1680
template <typename Range>
1681
auto make_contiguous_buffer(Range&& range)
1682
86.6M
{
1683
86.6M
    if constexpr (ranges::borrowed_range<Range> &&
1684
86.6M
                  ranges::contiguous_range<Range> &&
1685
86.6M
                  ranges::sized_range<Range>) {
1686
59.9M
        return string_view_wrapper{SCN_FWD(range)};
1687
59.9M
    }
1688
26.6M
    else {
1689
26.6M
        return contiguous_range_factory{SCN_FWD(range)};
1690
26.6M
    }
1691
86.6M
}
Unexecuted instantiation: auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1682
1.74M
{
1683
1.74M
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.74M
                  ranges::contiguous_range<Range> &&
1685
1.74M
                  ranges::sized_range<Range>) {
1686
1.74M
        return string_view_wrapper{SCN_FWD(range)};
1687
1.74M
    }
1688
1.74M
    else {
1689
1.74M
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.74M
    }
1691
1.74M
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1682
1.51k
{
1683
1.51k
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.51k
                  ranges::contiguous_range<Range> &&
1685
1.51k
                  ranges::sized_range<Range>) {
1686
1.51k
        return string_view_wrapper{SCN_FWD(range)};
1687
1.51k
    }
1688
1.51k
    else {
1689
1.51k
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.51k
    }
1691
1.51k
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1682
1.99M
{
1683
1.99M
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.99M
                  ranges::contiguous_range<Range> &&
1685
1.99M
                  ranges::sized_range<Range>) {
1686
1.99M
        return string_view_wrapper{SCN_FWD(range)};
1687
1.99M
    }
1688
1.99M
    else {
1689
1.99M
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.99M
    }
1691
1.99M
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1682
5.46M
{
1683
5.46M
    if constexpr (ranges::borrowed_range<Range> &&
1684
5.46M
                  ranges::contiguous_range<Range> &&
1685
5.46M
                  ranges::sized_range<Range>) {
1686
5.46M
        return string_view_wrapper{SCN_FWD(range)};
1687
5.46M
    }
1688
5.46M
    else {
1689
5.46M
        return contiguous_range_factory{SCN_FWD(range)};
1690
5.46M
    }
1691
5.46M
}
Unexecuted instantiation: auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1682
24.9M
{
1683
24.9M
    if constexpr (ranges::borrowed_range<Range> &&
1684
24.9M
                  ranges::contiguous_range<Range> &&
1685
24.9M
                  ranges::sized_range<Range>) {
1686
24.9M
        return string_view_wrapper{SCN_FWD(range)};
1687
24.9M
    }
1688
24.9M
    else {
1689
24.9M
        return contiguous_range_factory{SCN_FWD(range)};
1690
24.9M
    }
1691
24.9M
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1682
350
{
1683
350
    if constexpr (ranges::borrowed_range<Range> &&
1684
350
                  ranges::contiguous_range<Range> &&
1685
350
                  ranges::sized_range<Range>) {
1686
350
        return string_view_wrapper{SCN_FWD(range)};
1687
350
    }
1688
350
    else {
1689
350
        return contiguous_range_factory{SCN_FWD(range)};
1690
350
    }
1691
350
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1682
50.1M
{
1683
50.1M
    if constexpr (ranges::borrowed_range<Range> &&
1684
50.1M
                  ranges::contiguous_range<Range> &&
1685
50.1M
                  ranges::sized_range<Range>) {
1686
50.1M
        return string_view_wrapper{SCN_FWD(range)};
1687
50.1M
    }
1688
50.1M
    else {
1689
50.1M
        return contiguous_range_factory{SCN_FWD(range)};
1690
50.1M
    }
1691
50.1M
}
auto scn::v3::impl::make_contiguous_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1682
2.34M
{
1683
2.34M
    if constexpr (ranges::borrowed_range<Range> &&
1684
2.34M
                  ranges::contiguous_range<Range> &&
1685
2.34M
                  ranges::sized_range<Range>) {
1686
2.34M
        return string_view_wrapper{SCN_FWD(range)};
1687
2.34M
    }
1688
2.34M
    else {
1689
2.34M
        return contiguous_range_factory{SCN_FWD(range)};
1690
2.34M
    }
1691
2.34M
}
1692
}  // namespace impl
1693
1694
/////////////////////////////////////////////////////////////////
1695
// locale stuff
1696
/////////////////////////////////////////////////////////////////
1697
1698
#if !SCN_DISABLE_LOCALE
1699
1700
namespace detail {
1701
extern template locale_ref::locale_ref(const std::locale&);
1702
extern template auto locale_ref::get() const -> std::locale;
1703
}  // namespace detail
1704
1705
namespace impl {
1706
template <typename Facet>
1707
const Facet& get_facet(detail::locale_ref loc)
1708
{
1709
    auto stdloc = loc.get<std::locale>();
1710
    SCN_EXPECT(std::has_facet<Facet>(stdloc));
1711
    return std::use_facet<Facet>(stdloc);
1712
}
1713
1714
template <typename Facet>
1715
const Facet& get_or_add_facet(std::locale& stdloc)
1716
1.91M
{
1717
1.91M
    if (std::has_facet<Facet>(stdloc)) {
1718
1.91M
        return std::use_facet<Facet>(stdloc);
1719
1.91M
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
1.91M
}
std::__1::numpunct<char> const& scn::v3::impl::get_or_add_facet<std::__1::numpunct<char> >(std::__1::locale&)
Line
Count
Source
1716
1.70M
{
1717
1.70M
    if (std::has_facet<Facet>(stdloc)) {
1718
1.70M
        return std::use_facet<Facet>(stdloc);
1719
1.70M
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
1.70M
}
std::__1::numpunct<wchar_t> const& scn::v3::impl::get_or_add_facet<std::__1::numpunct<wchar_t> >(std::__1::locale&)
Line
Count
Source
1716
207k
{
1717
207k
    if (std::has_facet<Facet>(stdloc)) {
1718
207k
        return std::use_facet<Facet>(stdloc);
1719
207k
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
207k
}
1723
1724
class clocale_restorer {
1725
public:
1726
    clocale_restorer(int cat) : m_category(cat)
1727
2.54M
    {
1728
2.54M
        const auto loc = std::setlocale(cat, nullptr);
1729
2.54M
        std::strcpy(m_locbuf, loc);
1730
2.54M
    }
1731
    ~clocale_restorer()
1732
2.54M
    {
1733
        // Restore locale to what it was before
1734
2.54M
        std::setlocale(m_category, m_locbuf);
1735
2.54M
    }
1736
1737
    clocale_restorer(const clocale_restorer&) = delete;
1738
    clocale_restorer(clocale_restorer&&) = delete;
1739
    clocale_restorer& operator=(const clocale_restorer&) = delete;
1740
    clocale_restorer& operator=(clocale_restorer&&) = delete;
1741
1742
private:
1743
    // For whatever reason, this cannot be stored in the heap if
1744
    // setlocale hasn't been called before, or msan errors with
1745
    // 'use-of-unitialized-value' when resetting the locale
1746
    // back. POSIX specifies that the content of loc may not be
1747
    // static, so we need to save it ourselves
1748
    char m_locbuf[64] = {0};
1749
1750
    int m_category;
1751
};
1752
1753
class set_clocale_classic_guard {
1754
public:
1755
    set_clocale_classic_guard(int cat) : m_restorer(cat)
1756
2.54M
    {
1757
2.54M
        std::setlocale(cat, "C");
1758
2.54M
    }
1759
1760
private:
1761
    clocale_restorer m_restorer;
1762
};
1763
}  // namespace impl
1764
1765
namespace impl {
1766
struct classic_with_thsep_tag {};
1767
1768
template <typename CharT>
1769
struct localized_number_formatting_options {
1770
5.92M
    localized_number_formatting_options() = default;
scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options()
Line
Count
Source
1770
5.21M
    localized_number_formatting_options() = default;
scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options()
Line
Count
Source
1770
712k
    localized_number_formatting_options() = default;
1771
1772
    localized_number_formatting_options(classic_with_thsep_tag)
1773
0
    {
1774
0
        grouping = "\3";
1775
0
        thousands_sep = CharT{','};
1776
0
    }
Unexecuted instantiation: scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v3::impl::classic_with_thsep_tag)
Unexecuted instantiation: scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v3::impl::classic_with_thsep_tag)
1777
1778
    localized_number_formatting_options(detail::locale_ref loc)
1779
1.91M
    {
1780
1.91M
        auto stdloc = loc.get<std::locale>();
1781
1.91M
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
1.91M
        grouping = numpunct.grouping();
1783
1.91M
        thousands_sep =
1784
1.91M
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
1.91M
        decimal_point = numpunct.decimal_point();
1786
1.91M
    }
scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v3::detail::locale_ref)
Line
Count
Source
1779
1.70M
    {
1780
1.70M
        auto stdloc = loc.get<std::locale>();
1781
1.70M
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
1.70M
        grouping = numpunct.grouping();
1783
1.70M
        thousands_sep =
1784
1.70M
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
1.70M
        decimal_point = numpunct.decimal_point();
1786
1.70M
    }
scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v3::detail::locale_ref)
Line
Count
Source
1779
207k
    {
1780
207k
        auto stdloc = loc.get<std::locale>();
1781
207k
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
207k
        grouping = numpunct.grouping();
1783
207k
        thousands_sep =
1784
207k
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
207k
        decimal_point = numpunct.decimal_point();
1786
207k
    }
1787
1788
    std::string grouping{};
1789
    CharT thousands_sep{0};
1790
    CharT decimal_point{CharT{'.'}};
1791
};
1792
}  // namespace impl
1793
1794
#else
1795
1796
namespace impl {
1797
struct set_clocale_classic_guard {
1798
    set_clocale_classic_guard(int) {}
1799
};
1800
1801
struct classic_with_thsep_tag {};
1802
1803
template <typename CharT>
1804
struct localized_number_formatting_options {
1805
    localized_number_formatting_options() = default;
1806
1807
    localized_number_formatting_options(classic_with_thsep_tag)
1808
    {
1809
        grouping = "\3";
1810
        thousands_sep = CharT{','};
1811
    }
1812
1813
    std::string grouping{};
1814
    CharT thousands_sep{0};
1815
    CharT decimal_point{CharT{'.'}};
1816
};
1817
}  // namespace impl
1818
1819
#endif  // !SCN_DISABLE_LOCALE
1820
1821
/////////////////////////////////////////////////////////////////
1822
// Range reading algorithms
1823
/////////////////////////////////////////////////////////////////
1824
1825
namespace impl {
1826
1827
std::string_view::iterator find_classic_space_narrow_fast(
1828
    std::string_view source);
1829
1830
std::string_view::iterator find_classic_nonspace_narrow_fast(
1831
    std::string_view source);
1832
1833
std::string_view::iterator find_nondecimal_digit_narrow_fast(
1834
    std::string_view source);
1835
1836
template <typename Range>
1837
auto read_all(Range range) -> ranges::const_iterator_t<Range>
1838
1.98M
{
1839
1.98M
    return ranges::next(range.begin(), range.end());
1840
1.98M
}
_ZN3scn2v34impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1838
1.77M
{
1839
1.77M
    return ranges::next(range.begin(), range.end());
1840
1.77M
}
Unexecuted instantiation: _ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1838
102
{
1839
102
    return ranges::next(range.begin(), range.end());
1840
102
}
_ZN3scn2v34impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1838
201k
{
1839
201k
    return ranges::next(range.begin(), range.end());
1840
201k
}
Unexecuted instantiation: _ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1838
48
{
1839
48
    return ranges::next(range.begin(), range.end());
1840
48
}
1841
1842
template <typename Range>
1843
auto read_code_unit(Range range)
1844
    -> eof_expected<ranges::const_iterator_t<Range>>
1845
18.7M
{
1846
18.7M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
39.8k
        return unexpected(e);
1848
39.8k
    }
1849
1850
18.7M
    return ranges::next(range.begin());
1851
18.7M
}
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
1845
10.3M
{
1846
10.3M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
30.8k
        return unexpected(e);
1848
30.8k
    }
1849
1850
10.3M
    return ranges::next(range.begin());
1851
10.3M
}
_ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1845
1.88k
{
1846
1.88k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
1.88k
    return ranges::next(range.begin());
1851
1.88k
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1845
34
{
1846
34
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
34
    return ranges::next(range.begin());
1851
34
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1845
6.58M
{
1846
6.58M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
7.57k
        return unexpected(e);
1848
7.57k
    }
1849
1850
6.57M
    return ranges::next(range.begin());
1851
6.58M
}
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
1845
974k
{
1846
974k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
1.09k
        return unexpected(e);
1848
1.09k
    }
1849
1850
973k
    return ranges::next(range.begin());
1851
974k
}
_ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1845
834
{
1846
834
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
834
    return ranges::next(range.begin());
1851
834
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1845
18
{
1846
18
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
18
    return ranges::next(range.begin());
1851
18
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1845
862k
{
1846
862k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
404
        return unexpected(e);
1848
404
    }
1849
1850
862k
    return ranges::next(range.begin());
1851
862k
}
1852
1853
template <typename Range>
1854
auto read_exactly_n_code_units(Range range, std::ptrdiff_t count)
1855
    -> eof_expected<ranges::const_iterator_t<Range>>
1856
11.4M
{
1857
11.4M
    SCN_EXPECT(count >= 0);
1858
1859
11.4M
    if constexpr (ranges::sized_range<Range>) {
1860
10.1M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
10.1M
        if (sz < count) {
1862
79.7k
            return unexpected(eof_error::eof);
1863
79.7k
        }
1864
1865
1.14M
        return ranges::next(range.begin(), count);
1866
1.22M
    }
1867
10.1M
    else {
1868
10.1M
        auto it = range.begin();
1869
10.1M
        if (guaranteed_minimum_size(range) >= count) {
1870
6.98M
            return ranges::next(it, count);
1871
6.98M
        }
1872
1873
12.5M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
9.50M
            if (it == range.end()) {
1875
154k
                return unexpected(eof_error::eof);
1876
154k
            }
1877
9.50M
        }
1878
1879
3.05M
        return it;
1880
3.21M
    }
1881
11.4M
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Line
Count
Source
1856
8.99M
{
1857
8.99M
    SCN_EXPECT(count >= 0);
1858
1859
8.99M
    if constexpr (ranges::sized_range<Range>) {
1860
8.99M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
8.99M
        if (sz < count) {
1862
8.99M
            return unexpected(eof_error::eof);
1863
8.99M
        }
1864
1865
8.99M
        return ranges::next(range.begin(), count);
1866
8.99M
    }
1867
8.99M
    else {
1868
8.99M
        auto it = range.begin();
1869
8.99M
        if (guaranteed_minimum_size(range) >= count) {
1870
6.20M
            return ranges::next(it, count);
1871
6.20M
        }
1872
1873
11.0M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
8.31M
            if (it == range.end()) {
1875
74.3k
                return unexpected(eof_error::eof);
1876
74.3k
            }
1877
8.31M
        }
1878
1879
2.71M
        return it;
1880
2.79M
    }
1881
8.99M
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1856
21.8k
{
1857
21.8k
    SCN_EXPECT(count >= 0);
1858
1859
21.8k
    if constexpr (ranges::sized_range<Range>) {
1860
21.8k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
21.8k
        if (sz < count) {
1862
354
            return unexpected(eof_error::eof);
1863
354
        }
1864
1865
21.5k
        return ranges::next(range.begin(), count);
1866
21.8k
    }
1867
21.8k
    else {
1868
21.8k
        auto it = range.begin();
1869
21.8k
        if (guaranteed_minimum_size(range) >= count) {
1870
21.8k
            return ranges::next(it, count);
1871
21.8k
        }
1872
1873
21.8k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
21.8k
            if (it == range.end()) {
1875
21.8k
                return unexpected(eof_error::eof);
1876
21.8k
            }
1877
21.8k
        }
1878
1879
21.8k
        return it;
1880
21.8k
    }
1881
21.8k
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1856
2.33k
{
1857
2.33k
    SCN_EXPECT(count >= 0);
1858
1859
2.33k
    if constexpr (ranges::sized_range<Range>) {
1860
2.33k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
2.33k
        if (sz < count) {
1862
2.33k
            return unexpected(eof_error::eof);
1863
2.33k
        }
1864
1865
2.33k
        return ranges::next(range.begin(), count);
1866
2.33k
    }
1867
2.33k
    else {
1868
2.33k
        auto it = range.begin();
1869
2.33k
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
8.23k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
6.09k
            if (it == range.end()) {
1875
192
                return unexpected(eof_error::eof);
1876
192
            }
1877
6.09k
        }
1878
1879
2.14k
        return it;
1880
2.33k
    }
1881
2.33k
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Line
Count
Source
1856
1.19M
{
1857
1.19M
    SCN_EXPECT(count >= 0);
1858
1859
1.19M
    if constexpr (ranges::sized_range<Range>) {
1860
1.19M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
1.19M
        if (sz < count) {
1862
1.19M
            return unexpected(eof_error::eof);
1863
1.19M
        }
1864
1865
1.19M
        return ranges::next(range.begin(), count);
1866
1.19M
    }
1867
1.19M
    else {
1868
1.19M
        auto it = range.begin();
1869
1.19M
        if (guaranteed_minimum_size(range) >= count) {
1870
779k
            return ranges::next(it, count);
1871
779k
        }
1872
1873
1.51M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.17M
            if (it == range.end()) {
1875
79.2k
                return unexpected(eof_error::eof);
1876
79.2k
            }
1877
1.17M
        }
1878
1879
334k
        return it;
1880
413k
    }
1881
1.19M
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1856
1.19M
{
1857
1.19M
    SCN_EXPECT(count >= 0);
1858
1859
1.19M
    if constexpr (ranges::sized_range<Range>) {
1860
1.19M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
1.19M
        if (sz < count) {
1862
79.4k
            return unexpected(eof_error::eof);
1863
79.4k
        }
1864
1865
1.11M
        return ranges::next(range.begin(), count);
1866
1.19M
    }
1867
1.19M
    else {
1868
1.19M
        auto it = range.begin();
1869
1.19M
        if (guaranteed_minimum_size(range) >= count) {
1870
1.19M
            return ranges::next(it, count);
1871
1.19M
        }
1872
1873
1.19M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.19M
            if (it == range.end()) {
1875
1.19M
                return unexpected(eof_error::eof);
1876
1.19M
            }
1877
1.19M
        }
1878
1879
1.19M
        return it;
1880
1.19M
    }
1881
1.19M
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1856
526
{
1857
526
    SCN_EXPECT(count >= 0);
1858
1859
526
    if constexpr (ranges::sized_range<Range>) {
1860
526
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
526
        if (sz < count) {
1862
526
            return unexpected(eof_error::eof);
1863
526
        }
1864
1865
526
        return ranges::next(range.begin(), count);
1866
526
    }
1867
526
    else {
1868
526
        auto it = range.begin();
1869
526
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
1.74k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.28k
            if (it == range.end()) {
1875
62
                return unexpected(eof_error::eof);
1876
62
            }
1877
1.28k
        }
1878
1879
464
        return it;
1880
526
    }
1881
526
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
Line
Count
Source
1856
204
{
1857
204
    SCN_EXPECT(count >= 0);
1858
1859
204
    if constexpr (ranges::sized_range<Range>) {
1860
204
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
204
        if (sz < count) {
1862
204
            return unexpected(eof_error::eof);
1863
204
        }
1864
1865
204
        return ranges::next(range.begin(), count);
1866
204
    }
1867
204
    else {
1868
204
        auto it = range.begin();
1869
204
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
812
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
668
            if (it == range.end()) {
1875
60
                return unexpected(eof_error::eof);
1876
60
            }
1877
668
        }
1878
1879
144
        return it;
1880
204
    }
1881
204
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1856
628
{
1857
628
    SCN_EXPECT(count >= 0);
1858
1859
628
    if constexpr (ranges::sized_range<Range>) {
1860
628
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
628
        if (sz < count) {
1862
628
            return unexpected(eof_error::eof);
1863
628
        }
1864
1865
628
        return ranges::next(range.begin(), count);
1866
628
    }
1867
628
    else {
1868
628
        auto it = range.begin();
1869
628
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
3.11k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
2.61k
            if (it == range.end()) {
1875
130
                return unexpected(eof_error::eof);
1876
130
            }
1877
2.61k
        }
1878
1879
498
        return it;
1880
628
    }
1881
628
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1856
324
{
1857
324
    SCN_EXPECT(count >= 0);
1858
1859
324
    if constexpr (ranges::sized_range<Range>) {
1860
324
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
324
        if (sz < count) {
1862
324
            return unexpected(eof_error::eof);
1863
324
        }
1864
1865
324
        return ranges::next(range.begin(), count);
1866
324
    }
1867
324
    else {
1868
324
        auto it = range.begin();
1869
324
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
1.64k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.38k
            if (it == range.end()) {
1875
60
                return unexpected(eof_error::eof);
1876
60
            }
1877
1.38k
        }
1878
1879
264
        return it;
1880
324
    }
1881
324
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
1882
1883
template <typename Iterator, typename CharT>
1884
struct read_code_point_into_result {
1885
    Iterator iterator;
1886
    std::basic_string<CharT> codepoint;
1887
1888
    bool is_valid() const
1889
863M
    {
1890
863M
        return !codepoint.empty();
1891
863M
    }
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, char>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, char>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, char>::is_valid() const
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, char>::is_valid() const
Line
Count
Source
1889
55.2k
    {
1890
55.2k
        return !codepoint.empty();
1891
55.2k
    }
scn::v3::impl::read_code_point_into_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, char>::is_valid() const
Line
Count
Source
1889
10.7M
    {
1890
10.7M
        return !codepoint.empty();
1891
10.7M
    }
scn::v3::impl::read_code_point_into_result<char const*, char>::is_valid() const
Line
Count
Source
1889
396k
    {
1890
396k
        return !codepoint.empty();
1891
396k
    }
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, wchar_t>::is_valid() const
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, wchar_t>::is_valid() const
Line
Count
Source
1889
6.05k
    {
1890
6.05k
        return !codepoint.empty();
1891
6.05k
    }
scn::v3::impl::read_code_point_into_result<wchar_t const*, wchar_t>::is_valid() const
Line
Count
Source
1889
568M
    {
1890
568M
        return !codepoint.empty();
1891
568M
    }
scn::v3::impl::read_code_point_into_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, wchar_t>::is_valid() const
Line
Count
Source
1889
284M
    {
1890
284M
        return !codepoint.empty();
1891
284M
    }
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, char>::is_valid() const
Line
Count
Source
1889
2.80k
    {
1890
2.80k
        return !codepoint.empty();
1891
2.80k
    }
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, wchar_t>::is_valid() const
Line
Count
Source
1889
668
    {
1890
668
        return !codepoint.empty();
1891
668
    }
1892
};
1893
1894
template <typename Range>
1895
auto read_code_point_into(Range range)
1896
    -> read_code_point_into_result<ranges::const_iterator_t<Range>,
1897
                                   detail::char_t<Range>>
1898
863M
{
1899
863M
    SCN_EXPECT(!is_range_eof(range));
1900
863M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
863M
    auto it = range.begin();
1903
863M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
863M
    if (SCN_UNLIKELY(len == 0)) {
1906
26.5k
        ++it;
1907
26.5k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
26.5k
        return {it, {}};
1909
26.5k
    }
1910
1911
863M
    if (len == 1) {
1912
863M
        ++it;
1913
863M
        return {it, string_type(1, *range.begin())};
1914
863M
    }
1915
1916
223k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
223k
    return {it, string_type{range.begin(), it}};
1918
863M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
1898
55.2k
{
1899
55.2k
    SCN_EXPECT(!is_range_eof(range));
1900
55.2k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
55.2k
    auto it = range.begin();
1903
55.2k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
55.2k
    if (SCN_UNLIKELY(len == 0)) {
1906
3.98k
        ++it;
1907
3.98k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
3.98k
        return {it, {}};
1909
3.98k
    }
1910
1911
51.2k
    if (len == 1) {
1912
46.4k
        ++it;
1913
46.4k
        return {it, string_type(1, *range.begin())};
1914
46.4k
    }
1915
1916
4.76k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
4.76k
    return {it, string_type{range.begin(), it}};
1918
51.2k
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
Line
Count
Source
1898
10.7M
{
1899
10.7M
    SCN_EXPECT(!is_range_eof(range));
1900
10.7M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
10.7M
    auto it = range.begin();
1903
10.7M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
10.7M
    if (SCN_UNLIKELY(len == 0)) {
1906
21.3k
        ++it;
1907
21.3k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
21.3k
        return {it, {}};
1909
21.3k
    }
1910
1911
10.6M
    if (len == 1) {
1912
10.5M
        ++it;
1913
10.5M
        return {it, string_type(1, *range.begin())};
1914
10.5M
    }
1915
1916
172k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
172k
    return {it, string_type{range.begin(), it}};
1918
10.6M
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
1898
396k
{
1899
396k
    SCN_EXPECT(!is_range_eof(range));
1900
396k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
396k
    auto it = range.begin();
1903
396k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
396k
    if (SCN_UNLIKELY(len == 0)) {
1906
1.23k
        ++it;
1907
1.23k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
1.23k
        return {it, {}};
1909
1.23k
    }
1910
1911
395k
    if (len == 1) {
1912
349k
        ++it;
1913
349k
        return {it, string_type(1, *range.begin())};
1914
349k
    }
1915
1916
46.2k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
46.2k
    return {it, string_type{range.begin(), it}};
1918
395k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
1898
568M
{
1899
568M
    SCN_EXPECT(!is_range_eof(range));
1900
568M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
568M
    auto it = range.begin();
1903
568M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
568M
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
568M
    if (len == 1) {
1912
568M
        ++it;
1913
568M
        return {it, string_type(1, *range.begin())};
1914
568M
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
568M
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
1898
6.05k
{
1899
6.05k
    SCN_EXPECT(!is_range_eof(range));
1900
6.05k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
6.05k
    auto it = range.begin();
1903
6.05k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
6.05k
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
6.05k
    if (len == 1) {
1912
6.05k
        ++it;
1913
6.05k
        return {it, string_type(1, *range.begin())};
1914
6.05k
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
6.05k
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
Line
Count
Source
1898
284M
{
1899
284M
    SCN_EXPECT(!is_range_eof(range));
1900
284M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
284M
    auto it = range.begin();
1903
284M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
284M
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
284M
    if (len == 1) {
1912
284M
        ++it;
1913
284M
        return {it, string_type(1, *range.begin())};
1914
284M
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
284M
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
1898
2.80k
{
1899
2.80k
    SCN_EXPECT(!is_range_eof(range));
1900
2.80k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
2.80k
    auto it = range.begin();
1903
2.80k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
2.80k
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
2.80k
    if (len == 1) {
1912
2.48k
        ++it;
1913
2.48k
        return {it, string_type(1, *range.begin())};
1914
2.48k
    }
1915
1916
322
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
322
    return {it, string_type{range.begin(), it}};
1918
2.80k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
1898
668
{
1899
668
    SCN_EXPECT(!is_range_eof(range));
1900
668
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
668
    auto it = range.begin();
1903
668
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
668
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
668
    if (len == 1) {
1912
668
        ++it;
1913
668
        return {it, string_type(1, *range.begin())};
1914
668
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
668
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
1919
1920
template <typename Range>
1921
auto read_code_point(Range range) -> ranges::const_iterator_t<Range>
1922
{
1923
    return read_code_point_into(range).iterator;
1924
}
1925
1926
template <typename Range>
1927
auto read_exactly_n_code_points(Range range, std::ptrdiff_t count)
1928
    -> eof_expected<ranges::const_iterator_t<Range>>
1929
{
1930
    SCN_EXPECT(count >= 0);
1931
1932
    if (count > 0) {
1933
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1934
            return unexpected(e);
1935
        }
1936
    }
1937
1938
    auto it = range.begin();
1939
    for (std::ptrdiff_t i = 0; i < count; ++i) {
1940
        auto rng = ranges::subrange{it, range.end()};
1941
1942
        if (auto e = eof_check(rng); SCN_UNLIKELY(!e)) {
1943
            return unexpected(e);
1944
        }
1945
1946
        it = read_code_point(rng);
1947
    }
1948
1949
    return it;
1950
}
1951
1952
template <typename Range>
1953
auto read_until_code_unit(Range range,
1954
                          function_ref<bool(detail::char_t<Range>)> pred)
1955
    -> ranges::const_iterator_t<Range>
1956
9.17M
{
1957
9.17M
    if constexpr (ranges::common_range<Range>) {
1958
7.57M
        return std::find_if(range.begin(), range.end(), pred);
1959
7.57M
    }
1960
7.57M
    else {
1961
7.57M
        auto first = range.begin();
1962
35.7M
        for (; first != range.end(); ++first) {
1963
35.7M
            if (pred(*first)) {
1964
7.51M
                return first;
1965
7.51M
            }
1966
35.7M
        }
1967
61.6k
        return first;
1968
7.57M
    }
1969
9.17M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
6.81M
{
1957
6.81M
    if constexpr (ranges::common_range<Range>) {
1958
6.81M
        return std::find_if(range.begin(), range.end(), pred);
1959
6.81M
    }
1960
6.81M
    else {
1961
6.81M
        auto first = range.begin();
1962
34.9M
        for (; first != range.end(); ++first) {
1963
34.8M
            if (pred(*first)) {
1964
6.75M
                return first;
1965
6.75M
            }
1966
34.8M
        }
1967
58.7k
        return first;
1968
6.81M
    }
1969
6.81M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1956
1.07k
{
1957
1.07k
    if constexpr (ranges::common_range<Range>) {
1958
1.07k
        return std::find_if(range.begin(), range.end(), pred);
1959
1.07k
    }
1960
1.07k
    else {
1961
1.07k
        auto first = range.begin();
1962
1.07k
        for (; first != range.end(); ++first) {
1963
1.07k
            if (pred(*first)) {
1964
1.07k
                return first;
1965
1.07k
            }
1966
1.07k
        }
1967
0
        return first;
1968
1.07k
    }
1969
1.07k
}
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1956
1.40M
{
1957
1.40M
    if constexpr (ranges::common_range<Range>) {
1958
1.40M
        return std::find_if(range.begin(), range.end(), pred);
1959
1.40M
    }
1960
1.40M
    else {
1961
1.40M
        auto first = range.begin();
1962
1.40M
        for (; first != range.end(); ++first) {
1963
1.40M
            if (pred(*first)) {
1964
1.40M
                return first;
1965
1.40M
            }
1966
1.40M
        }
1967
1.40M
        return first;
1968
1.40M
    }
1969
1.40M
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1956
454
{
1957
454
    if constexpr (ranges::common_range<Range>) {
1958
454
        return std::find_if(range.begin(), range.end(), pred);
1959
454
    }
1960
454
    else {
1961
454
        auto first = range.begin();
1962
8.47k
        for (; first != range.end(); ++first) {
1963
8.23k
            if (pred(*first)) {
1964
212
                return first;
1965
212
            }
1966
8.23k
        }
1967
242
        return first;
1968
454
    }
1969
454
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
759k
{
1957
759k
    if constexpr (ranges::common_range<Range>) {
1958
759k
        return std::find_if(range.begin(), range.end(), pred);
1959
759k
    }
1960
759k
    else {
1961
759k
        auto first = range.begin();
1962
877k
        for (; first != range.end(); ++first) {
1963
874k
            if (pred(*first)) {
1964
756k
                return first;
1965
756k
            }
1966
874k
        }
1967
2.52k
        return first;
1968
759k
    }
1969
759k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1956
476
{
1957
476
    if constexpr (ranges::common_range<Range>) {
1958
476
        return std::find_if(range.begin(), range.end(), pred);
1959
476
    }
1960
476
    else {
1961
476
        auto first = range.begin();
1962
476
        for (; first != range.end(); ++first) {
1963
476
            if (pred(*first)) {
1964
476
                return first;
1965
476
            }
1966
476
        }
1967
0
        return first;
1968
476
    }
1969
476
}
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1956
199k
{
1957
199k
    if constexpr (ranges::common_range<Range>) {
1958
199k
        return std::find_if(range.begin(), range.end(), pred);
1959
199k
    }
1960
199k
    else {
1961
199k
        auto first = range.begin();
1962
199k
        for (; first != range.end(); ++first) {
1963
199k
            if (pred(*first)) {
1964
199k
                return first;
1965
199k
            }
1966
199k
        }
1967
199k
        return first;
1968
199k
    }
1969
199k
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1956
140
{
1957
140
    if constexpr (ranges::common_range<Range>) {
1958
140
        return std::find_if(range.begin(), range.end(), pred);
1959
140
    }
1960
140
    else {
1961
140
        auto first = range.begin();
1962
1.26k
        for (; first != range.end(); ++first) {
1963
1.16k
            if (pred(*first)) {
1964
48
                return first;
1965
48
            }
1966
1.16k
        }
1967
92
        return first;
1968
140
    }
1969
140
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
506
{
1957
506
    if constexpr (ranges::common_range<Range>) {
1958
506
        return std::find_if(range.begin(), range.end(), pred);
1959
506
    }
1960
506
    else {
1961
506
        auto first = range.begin();
1962
624
        for (; first != range.end(); ++first) {
1963
560
            if (pred(*first)) {
1964
442
                return first;
1965
442
            }
1966
560
        }
1967
64
        return first;
1968
506
    }
1969
506
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
504
{
1957
504
    if constexpr (ranges::common_range<Range>) {
1958
504
        return std::find_if(range.begin(), range.end(), pred);
1959
504
    }
1960
504
    else {
1961
504
        auto first = range.begin();
1962
558
        for (; first != range.end(); ++first) {
1963
540
            if (pred(*first)) {
1964
486
                return first;
1965
486
            }
1966
540
        }
1967
18
        return first;
1968
504
    }
1969
504
}
1970
1971
template <typename Range>
1972
auto read_while_code_unit(Range range,
1973
                          function_ref<bool(detail::char_t<Range>)> pred)
1974
    -> ranges::const_iterator_t<Range>
1975
9.17M
{
1976
9.17M
    return read_until_code_unit(range, std::not_fn(pred));
1977
9.17M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
6.81M
{
1976
6.81M
    return read_until_code_unit(range, std::not_fn(pred));
1977
6.81M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1975
1.07k
{
1976
1.07k
    return read_until_code_unit(range, std::not_fn(pred));
1977
1.07k
}
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1975
1.40M
{
1976
1.40M
    return read_until_code_unit(range, std::not_fn(pred));
1977
1.40M
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1975
208
{
1976
208
    return read_until_code_unit(range, std::not_fn(pred));
1977
208
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
759k
{
1976
759k
    return read_until_code_unit(range, std::not_fn(pred));
1977
759k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1975
476
{
1976
476
    return read_until_code_unit(range, std::not_fn(pred));
1977
476
}
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1975
199k
{
1976
199k
    return read_until_code_unit(range, std::not_fn(pred));
1977
199k
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1975
50
{
1976
50
    return read_until_code_unit(range, std::not_fn(pred));
1977
50
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
506
{
1976
506
    return read_until_code_unit(range, std::not_fn(pred));
1977
506
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
504
{
1976
504
    return read_until_code_unit(range, std::not_fn(pred));
1977
504
}
1978
1979
template <typename Range>
1980
auto read_until1_code_unit(Range range,
1981
                           function_ref<bool(detail::char_t<Range>)> pred)
1982
    -> parse_expected<ranges::const_iterator_t<Range>>
1983
{
1984
    auto it = read_until_code_unit(range, pred);
1985
    if (it == range.begin()) {
1986
        return unexpected(parse_error::error);
1987
    }
1988
    return it;
1989
}
1990
1991
template <typename Range>
1992
auto read_while1_code_unit(Range range,
1993
                           function_ref<bool(detail::char_t<Range>)> pred)
1994
    -> parse_expected<ranges::const_iterator_t<Range>>
1995
9.14M
{
1996
9.14M
    auto it = read_while_code_unit(range, pred);
1997
9.14M
    if (it == range.begin()) {
1998
3.62M
        return unexpected(parse_error::error);
1999
3.62M
    }
2000
5.52M
    return it;
2001
9.14M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Line
Count
Source
1995
6.80M
{
1996
6.80M
    auto it = read_while_code_unit(range, pred);
1997
6.80M
    if (it == range.begin()) {
1998
2.24M
        return unexpected(parse_error::error);
1999
2.24M
    }
2000
4.56M
    return it;
2001
6.80M
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
1995
1.07k
{
1996
1.07k
    auto it = read_while_code_unit(range, pred);
1997
1.07k
    if (it == range.begin()) {
1998
1.07k
        return unexpected(parse_error::error);
1999
1.07k
    }
2000
0
    return it;
2001
1.07k
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1995
1.39M
{
1996
1.39M
    auto it = read_while_code_unit(range, pred);
1997
1.39M
    if (it == range.begin()) {
1998
570k
        return unexpected(parse_error::error);
1999
570k
    }
2000
820k
    return it;
2001
1.39M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Line
Count
Source
1995
756k
{
1996
756k
    auto it = read_while_code_unit(range, pred);
1997
756k
    if (it == range.begin()) {
1998
657k
        return unexpected(parse_error::error);
1999
657k
    }
2000
98.8k
    return it;
2001
756k
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
1995
476
{
1996
476
    auto it = read_while_code_unit(range, pred);
1997
476
    if (it == range.begin()) {
1998
476
        return unexpected(parse_error::error);
1999
476
    }
2000
0
    return it;
2001
476
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1995
192k
{
1996
192k
    auto it = read_while_code_unit(range, pred);
1997
192k
    if (it == range.begin()) {
1998
156k
        return unexpected(parse_error::error);
1999
156k
    }
2000
35.9k
    return it;
2001
192k
}
2002
2003
template <typename Range, typename CodeUnits>
2004
auto read_until_code_units(Range range, const CodeUnits& needle)
2005
    -> ranges::const_iterator_t<Range>
2006
102
{
2007
102
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
102
    if constexpr (ranges::common_range<Range>) {
2010
60
        return std::search(range.begin(), range.end(), needle.begin(),
2011
60
                           needle.end());
2012
60
    }
2013
60
    else {
2014
60
        auto first = range.begin();
2015
216
        while (true) {
2016
216
            auto it = first;
2017
354
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
354
                if (needle_it == needle.end()) {
2019
42
                    return first;
2020
42
                }
2021
312
                if (it == range.end()) {
2022
18
                    return it;
2023
18
                }
2024
294
                if (*it != *needle_it) {
2025
156
                    break;
2026
156
                }
2027
294
            }
2028
156
            ++first;
2029
156
        }
2030
60
    }
2031
102
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
_ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2006
60
{
2007
60
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
60
    if constexpr (ranges::common_range<Range>) {
2010
60
        return std::search(range.begin(), range.end(), needle.begin(),
2011
60
                           needle.end());
2012
60
    }
2013
60
    else {
2014
60
        auto first = range.begin();
2015
216
        while (true) {
2016
216
            auto it = first;
2017
354
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
354
                if (needle_it == needle.end()) {
2019
42
                    return first;
2020
42
                }
2021
312
                if (it == range.end()) {
2022
18
                    return it;
2023
18
                }
2024
294
                if (*it != *needle_it) {
2025
156
                    break;
2026
156
                }
2027
294
            }
2028
156
            ++first;
2029
156
        }
2030
60
    }
2031
60
}
_ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2006
42
{
2007
42
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
42
    if constexpr (ranges::common_range<Range>) {
2010
42
        return std::search(range.begin(), range.end(), needle.begin(),
2011
42
                           needle.end());
2012
42
    }
2013
42
    else {
2014
42
        auto first = range.begin();
2015
42
        while (true) {
2016
42
            auto it = first;
2017
42
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
42
                if (needle_it == needle.end()) {
2019
42
                    return first;
2020
42
                }
2021
42
                if (it == range.end()) {
2022
42
                    return it;
2023
42
                }
2024
42
                if (*it != *needle_it) {
2025
42
                    break;
2026
42
                }
2027
42
            }
2028
42
            ++first;
2029
42
        }
2030
42
    }
2031
42
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
2032
2033
template <typename Range, typename CodeUnits>
2034
auto read_while_code_units(Range range, const CodeUnits& needle)
2035
    -> ranges::const_iterator_t<Range>
2036
444
{
2037
444
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
444
    auto it = range.begin();
2040
534
    while (it != range.end()) {
2041
498
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
498
                                           needle.size());
2043
498
        if (!r) {
2044
88
            return it;
2045
88
        }
2046
410
        static_assert(
2047
410
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
410
        if (!std::equal(it, *r, needle.begin())) {
2049
320
            return it;
2050
320
        }
2051
90
        it = *r;
2052
90
    }
2053
36
    SCN_ENSURE(it == range.end());
2054
36
    return it;
2055
36
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
_ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2036
134
{
2037
134
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
134
    auto it = range.begin();
2040
170
    while (it != range.end()) {
2041
170
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
170
                                           needle.size());
2043
170
        if (!r) {
2044
6
            return it;
2045
6
        }
2046
164
        static_assert(
2047
164
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
164
        if (!std::equal(it, *r, needle.begin())) {
2049
128
            return it;
2050
128
        }
2051
36
        it = *r;
2052
36
    }
2053
0
    SCN_ENSURE(it == range.end());
2054
0
    return it;
2055
0
}
_ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2036
106
{
2037
106
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
106
    auto it = range.begin();
2040
160
    while (it != range.end()) {
2041
124
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
124
                                           needle.size());
2043
124
        if (!r) {
2044
22
            return it;
2045
22
        }
2046
102
        static_assert(
2047
102
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
102
        if (!std::equal(it, *r, needle.begin())) {
2049
48
            return it;
2050
48
        }
2051
54
        it = *r;
2052
54
    }
2053
36
    SCN_ENSURE(it == range.end());
2054
36
    return it;
2055
36
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
_ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Line
Count
Source
2036
204
{
2037
204
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
204
    auto it = range.begin();
2040
204
    while (it != range.end()) {
2041
204
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
204
                                           needle.size());
2043
204
        if (!r) {
2044
60
            return it;
2045
60
        }
2046
144
        static_assert(
2047
144
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
144
        if (!std::equal(it, *r, needle.begin())) {
2049
144
            return it;
2050
144
        }
2051
0
        it = *r;
2052
0
    }
2053
0
    SCN_ENSURE(it == range.end());
2054
0
    return it;
2055
0
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
2056
2057
template <typename Range>
2058
auto read_until_code_point(Range range, function_ref<bool(char32_t)> pred)
2059
    -> ranges::const_iterator_t<Range>
2060
155M
{
2061
155M
    auto it = range.begin();
2062
863M
    while (it != range.end()) {
2063
863M
        const auto val =
2064
863M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
863M
        if (SCN_LIKELY(val.is_valid())) {
2066
863M
            const auto cp = detail::decode_code_point_exhaustive(
2067
863M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
863M
            if (pred(cp)) {
2069
155M
                return it;
2070
155M
            }
2071
863M
        }
2072
708M
        it = val.iterator;
2073
708M
    }
2074
2075
142k
    return it;
2076
155M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2060
714
{
2061
714
    auto it = range.begin();
2062
39.8k
    while (it != range.end()) {
2063
39.7k
        const auto val =
2064
39.7k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
39.7k
        if (SCN_LIKELY(val.is_valid())) {
2066
38.9k
            const auto cp = detail::decode_code_point_exhaustive(
2067
38.9k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
38.9k
            if (pred(cp)) {
2069
558
                return it;
2070
558
            }
2071
38.9k
        }
2072
39.1k
        it = val.iterator;
2073
39.1k
    }
2074
2075
156
    return it;
2076
714
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
4.78M
{
2061
4.78M
    auto it = range.begin();
2062
10.7M
    while (it != range.end()) {
2063
10.7M
        const auto val =
2064
10.7M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
10.7M
        if (SCN_LIKELY(val.is_valid())) {
2066
10.6M
            const auto cp = detail::decode_code_point_exhaustive(
2067
10.6M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
10.6M
            if (pred(cp)) {
2069
4.73M
                return it;
2070
4.73M
            }
2071
10.6M
        }
2072
5.97M
        it = val.iterator;
2073
5.97M
    }
2074
2075
47.8k
    return it;
2076
4.78M
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2060
744
{
2061
744
    auto it = range.begin();
2062
16.0k
    while (it != range.end()) {
2063
15.5k
        const auto val =
2064
15.5k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
15.5k
        if (SCN_LIKELY(val.is_valid())) {
2066
12.3k
            const auto cp = detail::decode_code_point_exhaustive(
2067
12.3k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
12.3k
            if (pred(cp)) {
2069
180
                return it;
2070
180
            }
2071
12.3k
        }
2072
15.3k
        it = val.iterator;
2073
15.3k
    }
2074
2075
564
    return it;
2076
744
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2060
2.42k
{
2061
2.42k
    auto it = range.begin();
2062
397k
    while (it != range.end()) {
2063
396k
        const auto val =
2064
396k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
396k
        if (SCN_LIKELY(val.is_valid())) {
2066
395k
            const auto cp = detail::decode_code_point_exhaustive(
2067
395k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
395k
            if (pred(cp)) {
2069
2.24k
                return it;
2070
2.24k
            }
2071
395k
        }
2072
394k
        it = val.iterator;
2073
394k
    }
2074
2075
180
    return it;
2076
2.42k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_until_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2060
2.68k
{
2061
2.68k
    auto it = range.begin();
2062
3.91k
    while (it != range.end()) {
2063
3.07k
        const auto val =
2064
3.07k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
3.07k
        if (SCN_LIKELY(val.is_valid())) {
2066
3.07k
            const auto cp = detail::decode_code_point_exhaustive(
2067
3.07k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
3.07k
            if (pred(cp)) {
2069
1.84k
                return it;
2070
1.84k
            }
2071
3.07k
        }
2072
1.23k
        it = val.iterator;
2073
1.23k
    }
2074
2075
842
    return it;
2076
2.68k
}
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2060
70
{
2061
70
    auto it = range.begin();
2062
70
    while (it != range.end()) {
2063
70
        const auto val =
2064
70
            read_code_point_into(ranges::subrange{it, range.end()});
2065
70
        if (SCN_LIKELY(val.is_valid())) {
2066
70
            const auto cp = detail::decode_code_point_exhaustive(
2067
70
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
70
            if (pred(cp)) {
2069
70
                return it;
2070
70
            }
2071
70
        }
2072
0
        it = val.iterator;
2073
0
    }
2074
2075
0
    return it;
2076
70
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2060
100M
{
2061
100M
    auto it = range.begin();
2062
568M
    while (it != range.end()) {
2063
568M
        const auto val =
2064
568M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
568M
        if (SCN_LIKELY(val.is_valid())) {
2066
568M
            const auto cp = detail::decode_code_point_exhaustive(
2067
568M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
568M
            if (pred(cp)) {
2069
100M
                return it;
2070
100M
            }
2071
568M
        }
2072
467M
        it = val.iterator;
2073
467M
    }
2074
2075
78.7k
    return it;
2076
100M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
50.5M
{
2061
50.5M
    auto it = range.begin();
2062
284M
    while (it != range.end()) {
2063
284M
        const auto val =
2064
284M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
284M
        if (SCN_LIKELY(val.is_valid())) {
2066
284M
            const auto cp = detail::decode_code_point_exhaustive(
2067
284M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
284M
            if (pred(cp)) {
2069
50.5M
                return it;
2070
50.5M
            }
2071
284M
        }
2072
233M
        it = val.iterator;
2073
233M
    }
2074
2075
13.5k
    return it;
2076
50.5M
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2060
378
{
2061
378
    auto it = range.begin();
2062
6.30k
    while (it != range.end()) {
2063
5.98k
        const auto val =
2064
5.98k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
5.98k
        if (SCN_LIKELY(val.is_valid())) {
2066
5.98k
            const auto cp = detail::decode_code_point_exhaustive(
2067
5.98k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
5.98k
            if (pred(cp)) {
2069
54
                return it;
2070
54
            }
2071
5.98k
        }
2072
5.92k
        it = val.iterator;
2073
5.92k
    }
2074
2075
324
    return it;
2076
378
}
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
1.88k
{
2061
1.88k
    auto it = range.begin();
2062
2.91k
    while (it != range.end()) {
2063
2.80k
        const auto val =
2064
2.80k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
2.80k
        if (SCN_LIKELY(val.is_valid())) {
2066
2.80k
            const auto cp = detail::decode_code_point_exhaustive(
2067
2.80k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
2.80k
            if (pred(cp)) {
2069
1.77k
                return it;
2070
1.77k
            }
2071
2.80k
        }
2072
1.03k
        it = val.iterator;
2073
1.03k
    }
2074
2075
114
    return it;
2076
1.88k
}
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
668
{
2061
668
    auto it = range.begin();
2062
668
    while (it != range.end()) {
2063
668
        const auto val =
2064
668
            read_code_point_into(ranges::subrange{it, range.end()});
2065
668
        if (SCN_LIKELY(val.is_valid())) {
2066
668
            const auto cp = detail::decode_code_point_exhaustive(
2067
668
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
668
            if (pred(cp)) {
2069
668
                return it;
2070
668
            }
2071
668
        }
2072
0
        it = val.iterator;
2073
0
    }
2074
2075
0
    return it;
2076
668
}
2077
2078
template <typename Range>
2079
auto read_while_code_point(Range range, function_ref<bool(char32_t)> pred)
2080
    -> ranges::const_iterator_t<Range>
2081
80.8M
{
2082
80.8M
    return read_until_code_point(range, std::not_fn(pred));
2083
80.8M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2081
612
{
2082
612
    return read_until_code_point(range, std::not_fn(pred));
2083
612
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
4.61M
{
2082
4.61M
    return read_until_code_point(range, std::not_fn(pred));
2083
4.61M
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2081
2.17k
{
2082
2.17k
    return read_until_code_point(range, std::not_fn(pred));
2083
2.17k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_while_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2081
2.68k
{
2082
2.68k
    return read_until_code_point(range, std::not_fn(pred));
2083
2.68k
}
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2081
70
{
2082
70
    return read_until_code_point(range, std::not_fn(pred));
2083
70
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2081
50.5M
{
2082
50.5M
    return read_until_code_point(range, std::not_fn(pred));
2083
50.5M
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
25.6M
{
2082
25.6M
    return read_until_code_point(range, std::not_fn(pred));
2083
25.6M
}
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
1.88k
{
2082
1.88k
    return read_until_code_point(range, std::not_fn(pred));
2083
1.88k
}
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
668
{
2082
668
    return read_until_code_point(range, std::not_fn(pred));
2083
668
}
2084
2085
template <typename Range>
2086
auto read_until_classic_space(Range range) -> ranges::const_iterator_t<Range>
2087
77.7M
{
2088
77.7M
    if constexpr (ranges::contiguous_range<Range> &&
2089
77.7M
                  ranges::sized_range<Range> &&
2090
77.7M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
75.0M
        auto buf = make_contiguous_buffer(range);
2092
75.0M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
75.0M
        return ranges::next(range.begin(),
2094
75.0M
                            ranges::distance(buf.view().begin(), it));
2095
75.0M
    }
2096
75.0M
    else {
2097
75.0M
        auto it = range.begin();
2098
2099
75.0M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
168k
            auto seg = get_contiguous_beginning(range);
2101
168k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
168k
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
168k
            ranges::advance(it, seg.size());
2106
168k
        }
2107
2108
168k
        return read_until_code_point(
2109
168k
            ranges::subrange{it, range.end()},
2110
635M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2110
1.15M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2110
12.3k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2110
211M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2110
5.98k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2110
422M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2110
173k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
75.0M
    }
2112
77.7M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2087
168k
{
2088
168k
    if constexpr (ranges::contiguous_range<Range> &&
2089
168k
                  ranges::sized_range<Range> &&
2090
168k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
168k
        auto buf = make_contiguous_buffer(range);
2092
168k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
168k
        return ranges::next(range.begin(),
2094
168k
                            ranges::distance(buf.view().begin(), it));
2095
168k
    }
2096
168k
    else {
2097
168k
        auto it = range.begin();
2098
2099
168k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
168k
            auto seg = get_contiguous_beginning(range);
2101
168k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
168k
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
168k
            ranges::advance(it, seg.size());
2106
168k
        }
2107
2108
168k
        return read_until_code_point(
2109
168k
            ranges::subrange{it, range.end()},
2110
168k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
168k
    }
2112
168k
}
_ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2087
744
{
2088
744
    if constexpr (ranges::contiguous_range<Range> &&
2089
744
                  ranges::sized_range<Range> &&
2090
744
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
744
        auto buf = make_contiguous_buffer(range);
2092
744
        auto it = find_classic_space_narrow_fast(buf.view());
2093
744
        return ranges::next(range.begin(),
2094
744
                            ranges::distance(buf.view().begin(), it));
2095
744
    }
2096
744
    else {
2097
744
        auto it = range.begin();
2098
2099
744
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
744
            auto seg = get_contiguous_beginning(range);
2101
744
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
744
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
744
            ranges::advance(it, seg.size());
2106
744
        }
2107
2108
744
        return read_until_code_point(
2109
744
            ranges::subrange{it, range.end()},
2110
744
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
744
    }
2112
744
}
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2087
331k
{
2088
331k
    if constexpr (ranges::contiguous_range<Range> &&
2089
331k
                  ranges::sized_range<Range> &&
2090
331k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
331k
        auto buf = make_contiguous_buffer(range);
2092
331k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
331k
        return ranges::next(range.begin(),
2094
331k
                            ranges::distance(buf.view().begin(), it));
2095
331k
    }
2096
331k
    else {
2097
331k
        auto it = range.begin();
2098
2099
331k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
331k
            auto seg = get_contiguous_beginning(range);
2101
331k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
331k
                seg_it != seg.end()) {
2103
331k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
331k
            }
2105
331k
            ranges::advance(it, seg.size());
2106
331k
        }
2107
2108
331k
        return read_until_code_point(
2109
331k
            ranges::subrange{it, range.end()},
2110
331k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
331k
    }
2112
331k
}
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2087
24.9M
{
2088
24.9M
    if constexpr (ranges::contiguous_range<Range> &&
2089
24.9M
                  ranges::sized_range<Range> &&
2090
24.9M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
24.9M
        auto buf = make_contiguous_buffer(range);
2092
24.9M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
24.9M
        return ranges::next(range.begin(),
2094
24.9M
                            ranges::distance(buf.view().begin(), it));
2095
24.9M
    }
2096
24.9M
    else {
2097
24.9M
        auto it = range.begin();
2098
2099
24.9M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
24.9M
            auto seg = get_contiguous_beginning(range);
2101
24.9M
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
24.9M
                seg_it != seg.end()) {
2103
24.9M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
24.9M
            }
2105
24.9M
            ranges::advance(it, seg.size());
2106
24.9M
        }
2107
2108
24.9M
        return read_until_code_point(
2109
24.9M
            ranges::subrange{it, range.end()},
2110
24.9M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
24.9M
    }
2112
24.9M
}
_ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2087
378
{
2088
378
    if constexpr (ranges::contiguous_range<Range> &&
2089
378
                  ranges::sized_range<Range> &&
2090
378
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
378
        auto buf = make_contiguous_buffer(range);
2092
378
        auto it = find_classic_space_narrow_fast(buf.view());
2093
378
        return ranges::next(range.begin(),
2094
378
                            ranges::distance(buf.view().begin(), it));
2095
378
    }
2096
378
    else {
2097
378
        auto it = range.begin();
2098
2099
378
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
378
            auto seg = get_contiguous_beginning(range);
2101
378
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
378
                seg_it != seg.end()) {
2103
378
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
378
            }
2105
378
            ranges::advance(it, seg.size());
2106
378
        }
2107
2108
378
        return read_until_code_point(
2109
378
            ranges::subrange{it, range.end()},
2110
378
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
378
    }
2112
378
}
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2087
49.8M
{
2088
49.8M
    if constexpr (ranges::contiguous_range<Range> &&
2089
49.8M
                  ranges::sized_range<Range> &&
2090
49.8M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
49.8M
        auto buf = make_contiguous_buffer(range);
2092
49.8M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
49.8M
        return ranges::next(range.begin(),
2094
49.8M
                            ranges::distance(buf.view().begin(), it));
2095
49.8M
    }
2096
49.8M
    else {
2097
49.8M
        auto it = range.begin();
2098
2099
49.8M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
49.8M
            auto seg = get_contiguous_beginning(range);
2101
49.8M
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
49.8M
                seg_it != seg.end()) {
2103
49.8M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
49.8M
            }
2105
49.8M
            ranges::advance(it, seg.size());
2106
49.8M
        }
2107
2108
49.8M
        return read_until_code_point(
2109
49.8M
            ranges::subrange{it, range.end()},
2110
49.8M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
49.8M
    }
2112
49.8M
}
_ZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2087
2.34M
{
2088
2.34M
    if constexpr (ranges::contiguous_range<Range> &&
2089
2.34M
                  ranges::sized_range<Range> &&
2090
2.34M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
2.34M
        auto buf = make_contiguous_buffer(range);
2092
2.34M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
2.34M
        return ranges::next(range.begin(),
2094
2.34M
                            ranges::distance(buf.view().begin(), it));
2095
2.34M
    }
2096
2.34M
    else {
2097
2.34M
        auto it = range.begin();
2098
2099
2.34M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
2.34M
            auto seg = get_contiguous_beginning(range);
2101
2.34M
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
2.34M
                seg_it != seg.end()) {
2103
2.34M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
2.34M
            }
2105
2.34M
            ranges::advance(it, seg.size());
2106
2.34M
        }
2107
2108
2.34M
        return read_until_code_point(
2109
2.34M
            ranges::subrange{it, range.end()},
2110
2.34M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
2.34M
    }
2112
2.34M
}
_ZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2087
82.5k
{
2088
82.5k
    if constexpr (ranges::contiguous_range<Range> &&
2089
82.5k
                  ranges::sized_range<Range> &&
2090
82.5k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
82.5k
        auto buf = make_contiguous_buffer(range);
2092
82.5k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
82.5k
        return ranges::next(range.begin(),
2094
82.5k
                            ranges::distance(buf.view().begin(), it));
2095
82.5k
    }
2096
82.5k
    else {
2097
82.5k
        auto it = range.begin();
2098
2099
82.5k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
82.5k
            auto seg = get_contiguous_beginning(range);
2101
82.5k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
82.5k
                seg_it != seg.end()) {
2103
82.5k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
82.5k
            }
2105
82.5k
            ranges::advance(it, seg.size());
2106
82.5k
        }
2107
2108
82.5k
        return read_until_code_point(
2109
82.5k
            ranges::subrange{it, range.end()},
2110
82.5k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
82.5k
    }
2112
82.5k
}
2113
2114
template <typename Range>
2115
auto read_while_classic_space(Range range) -> ranges::const_iterator_t<Range>
2116
86.3M
{
2117
86.3M
    if constexpr (ranges::contiguous_range<Range> &&
2118
86.3M
                  ranges::sized_range<Range> &&
2119
86.3M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
81.2M
        auto buf = make_contiguous_buffer(range);
2121
81.2M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
81.2M
        return ranges::next(range.begin(),
2123
81.2M
                            ranges::distance(buf.view().begin(), it));
2124
81.2M
    }
2125
81.2M
    else {
2126
81.2M
        auto it = range.begin();
2127
2128
81.2M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
5.00M
            auto seg = get_contiguous_beginning(range);
2130
5.00M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
5.00M
                seg_it != seg.end()) {
2132
386k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
386k
            }
2134
4.61M
            ranges::advance(it, seg.size());
2135
4.61M
        }
2136
2137
4.61M
        return read_while_code_point(
2138
228M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2138
2.04k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
9.52M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2138
3.07k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2138
70
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2138
145M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
73.1M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
2.80k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
668
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
81.2M
    }
2140
86.3M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2116
396
{
2117
396
    if constexpr (ranges::contiguous_range<Range> &&
2118
396
                  ranges::sized_range<Range> &&
2119
396
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
396
        auto buf = make_contiguous_buffer(range);
2121
396
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
396
        return ranges::next(range.begin(),
2123
396
                            ranges::distance(buf.view().begin(), it));
2124
396
    }
2125
396
    else {
2126
396
        auto it = range.begin();
2127
2128
396
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
396
            auto seg = get_contiguous_beginning(range);
2130
396
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
396
                seg_it != seg.end()) {
2132
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
0
            }
2134
396
            ranges::advance(it, seg.size());
2135
396
        }
2136
2137
396
        return read_while_code_point(
2138
396
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
396
    }
2140
396
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2116
5.13M
{
2117
5.13M
    if constexpr (ranges::contiguous_range<Range> &&
2118
5.13M
                  ranges::sized_range<Range> &&
2119
5.13M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
5.13M
        auto buf = make_contiguous_buffer(range);
2121
5.13M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
5.13M
        return ranges::next(range.begin(),
2123
5.13M
                            ranges::distance(buf.view().begin(), it));
2124
5.13M
    }
2125
5.13M
    else {
2126
5.13M
        auto it = range.begin();
2127
2128
5.13M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
5.13M
            auto seg = get_contiguous_beginning(range);
2130
5.13M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
5.13M
                seg_it != seg.end()) {
2132
5.13M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
5.13M
            }
2134
5.13M
            ranges::advance(it, seg.size());
2135
5.13M
        }
2136
2137
5.13M
        return read_while_code_point(
2138
5.13M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
5.13M
    }
2140
5.13M
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
5.00M
{
2117
5.00M
    if constexpr (ranges::contiguous_range<Range> &&
2118
5.00M
                  ranges::sized_range<Range> &&
2119
5.00M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
5.00M
        auto buf = make_contiguous_buffer(range);
2121
5.00M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
5.00M
        return ranges::next(range.begin(),
2123
5.00M
                            ranges::distance(buf.view().begin(), it));
2124
5.00M
    }
2125
5.00M
    else {
2126
5.00M
        auto it = range.begin();
2127
2128
5.00M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
5.00M
            auto seg = get_contiguous_beginning(range);
2130
5.00M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
5.00M
                seg_it != seg.end()) {
2132
386k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
386k
            }
2134
4.61M
            ranges::advance(it, seg.size());
2135
4.61M
        }
2136
2137
4.61M
        return read_while_code_point(
2138
4.61M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
5.00M
    }
2140
5.00M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2116
2.68k
{
2117
2.68k
    if constexpr (ranges::contiguous_range<Range> &&
2118
2.68k
                  ranges::sized_range<Range> &&
2119
2.68k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
2.68k
        auto buf = make_contiguous_buffer(range);
2121
2.68k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
2.68k
        return ranges::next(range.begin(),
2123
2.68k
                            ranges::distance(buf.view().begin(), it));
2124
2.68k
    }
2125
2.68k
    else {
2126
2.68k
        auto it = range.begin();
2127
2128
2.68k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
2.68k
            auto seg = get_contiguous_beginning(range);
2130
2.68k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
2.68k
                seg_it != seg.end()) {
2132
2.68k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
2.68k
            }
2134
2.68k
            ranges::advance(it, seg.size());
2135
2.68k
        }
2136
2137
2.68k
        return read_while_code_point(
2138
2.68k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
2.68k
    }
2140
2.68k
}
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2116
70
{
2117
70
    if constexpr (ranges::contiguous_range<Range> &&
2118
70
                  ranges::sized_range<Range> &&
2119
70
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
70
        auto buf = make_contiguous_buffer(range);
2121
70
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
70
        return ranges::next(range.begin(),
2123
70
                            ranges::distance(buf.view().begin(), it));
2124
70
    }
2125
70
    else {
2126
70
        auto it = range.begin();
2127
2128
70
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
70
            auto seg = get_contiguous_beginning(range);
2130
70
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
70
                seg_it != seg.end()) {
2132
70
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
70
            }
2134
70
            ranges::advance(it, seg.size());
2135
70
        }
2136
2137
70
        return read_while_code_point(
2138
70
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
70
    }
2140
70
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2116
50.5M
{
2117
50.5M
    if constexpr (ranges::contiguous_range<Range> &&
2118
50.5M
                  ranges::sized_range<Range> &&
2119
50.5M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
50.5M
        auto buf = make_contiguous_buffer(range);
2121
50.5M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
50.5M
        return ranges::next(range.begin(),
2123
50.5M
                            ranges::distance(buf.view().begin(), it));
2124
50.5M
    }
2125
50.5M
    else {
2126
50.5M
        auto it = range.begin();
2127
2128
50.5M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
50.5M
            auto seg = get_contiguous_beginning(range);
2130
50.5M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
50.5M
                seg_it != seg.end()) {
2132
50.5M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
50.5M
            }
2134
50.5M
            ranges::advance(it, seg.size());
2135
50.5M
        }
2136
2137
50.5M
        return read_while_code_point(
2138
50.5M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
50.5M
    }
2140
50.5M
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
25.6M
{
2117
25.6M
    if constexpr (ranges::contiguous_range<Range> &&
2118
25.6M
                  ranges::sized_range<Range> &&
2119
25.6M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
25.6M
        auto buf = make_contiguous_buffer(range);
2121
25.6M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
25.6M
        return ranges::next(range.begin(),
2123
25.6M
                            ranges::distance(buf.view().begin(), it));
2124
25.6M
    }
2125
25.6M
    else {
2126
25.6M
        auto it = range.begin();
2127
2128
25.6M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
25.6M
            auto seg = get_contiguous_beginning(range);
2130
25.6M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
25.6M
                seg_it != seg.end()) {
2132
25.6M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
25.6M
            }
2134
25.6M
            ranges::advance(it, seg.size());
2135
25.6M
        }
2136
2137
25.6M
        return read_while_code_point(
2138
25.6M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
25.6M
    }
2140
25.6M
}
_ZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2116
6.13k
{
2117
6.13k
    if constexpr (ranges::contiguous_range<Range> &&
2118
6.13k
                  ranges::sized_range<Range> &&
2119
6.13k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
6.13k
        auto buf = make_contiguous_buffer(range);
2121
6.13k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
6.13k
        return ranges::next(range.begin(),
2123
6.13k
                            ranges::distance(buf.view().begin(), it));
2124
6.13k
    }
2125
6.13k
    else {
2126
6.13k
        auto it = range.begin();
2127
2128
6.13k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
6.13k
            auto seg = get_contiguous_beginning(range);
2130
6.13k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
6.13k
                seg_it != seg.end()) {
2132
6.13k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
6.13k
            }
2134
6.13k
            ranges::advance(it, seg.size());
2135
6.13k
        }
2136
2137
6.13k
        return read_while_code_point(
2138
6.13k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
6.13k
    }
2140
6.13k
}
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
1.88k
{
2117
1.88k
    if constexpr (ranges::contiguous_range<Range> &&
2118
1.88k
                  ranges::sized_range<Range> &&
2119
1.88k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
1.88k
        auto buf = make_contiguous_buffer(range);
2121
1.88k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
1.88k
        return ranges::next(range.begin(),
2123
1.88k
                            ranges::distance(buf.view().begin(), it));
2124
1.88k
    }
2125
1.88k
    else {
2126
1.88k
        auto it = range.begin();
2127
2128
1.88k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
1.88k
            auto seg = get_contiguous_beginning(range);
2130
1.88k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
1.88k
                seg_it != seg.end()) {
2132
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
0
            }
2134
1.88k
            ranges::advance(it, seg.size());
2135
1.88k
        }
2136
2137
1.88k
        return read_while_code_point(
2138
1.88k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
1.88k
    }
2140
1.88k
}
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
668
{
2117
668
    if constexpr (ranges::contiguous_range<Range> &&
2118
668
                  ranges::sized_range<Range> &&
2119
668
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
668
        auto buf = make_contiguous_buffer(range);
2121
668
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
668
        return ranges::next(range.begin(),
2123
668
                            ranges::distance(buf.view().begin(), it));
2124
668
    }
2125
668
    else {
2126
668
        auto it = range.begin();
2127
2128
668
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
668
            auto seg = get_contiguous_beginning(range);
2130
668
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
668
                seg_it != seg.end()) {
2132
668
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
668
            }
2134
668
            ranges::advance(it, seg.size());
2135
668
        }
2136
2137
668
        return read_while_code_point(
2138
668
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
668
    }
2140
668
}
2141
2142
template <typename Range>
2143
auto read_matching_code_unit(Range range, detail::char_t<Range> ch)
2144
    -> parse_expected<ranges::const_iterator_t<Range>>
2145
4.73M
{
2146
4.73M
    auto it = read_code_unit(range);
2147
4.73M
    if (SCN_UNLIKELY(!it)) {
2148
18.3k
        return unexpected(make_eof_parse_error(it.error()));
2149
18.3k
    }
2150
2151
4.71M
    if (SCN_UNLIKELY(*range.begin() !=
2152
4.71M
                     static_cast<detail::char_t<Range>>(ch))) {
2153
3.65M
        return unexpected(parse_error::error);
2154
3.65M
    }
2155
2156
1.06M
    return *it;
2157
4.71M
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
Line
Count
Source
2145
3.09M
{
2146
3.09M
    auto it = read_code_unit(range);
2147
3.09M
    if (SCN_UNLIKELY(!it)) {
2148
13.0k
        return unexpected(make_eof_parse_error(it.error()));
2149
13.0k
    }
2150
2151
3.08M
    if (SCN_UNLIKELY(*range.begin() !=
2152
3.08M
                     static_cast<detail::char_t<Range>>(ch))) {
2153
2.41M
        return unexpected(parse_error::error);
2154
2.41M
    }
2155
2156
667k
    return *it;
2157
3.08M
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2145
34
{
2146
34
    auto it = read_code_unit(range);
2147
34
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
34
    if (SCN_UNLIKELY(*range.begin() !=
2152
34
                     static_cast<detail::char_t<Range>>(ch))) {
2153
34
        return unexpected(parse_error::error);
2154
34
    }
2155
2156
0
    return *it;
2157
34
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2145
1.32M
{
2146
1.32M
    auto it = read_code_unit(range);
2147
1.32M
    if (SCN_UNLIKELY(!it)) {
2148
4.30k
        return unexpected(make_eof_parse_error(it.error()));
2149
4.30k
    }
2150
2151
1.31M
    if (SCN_UNLIKELY(*range.begin() !=
2152
1.31M
                     static_cast<detail::char_t<Range>>(ch))) {
2153
923k
        return unexpected(parse_error::error);
2154
923k
    }
2155
2156
393k
    return *it;
2157
1.31M
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
Line
Count
Source
2145
186k
{
2146
186k
    auto it = read_code_unit(range);
2147
186k
    if (SCN_UNLIKELY(!it)) {
2148
624
        return unexpected(make_eof_parse_error(it.error()));
2149
624
    }
2150
2151
186k
    if (SCN_UNLIKELY(*range.begin() !=
2152
186k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
185k
        return unexpected(parse_error::error);
2154
185k
    }
2155
2156
440
    return *it;
2157
186k
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2145
18
{
2146
18
    auto it = read_code_unit(range);
2147
18
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
18
    if (SCN_UNLIKELY(*range.begin() !=
2152
18
                     static_cast<detail::char_t<Range>>(ch))) {
2153
18
        return unexpected(parse_error::error);
2154
18
    }
2155
2156
0
    return *it;
2157
18
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2145
130k
{
2146
130k
    auto it = read_code_unit(range);
2147
130k
    if (SCN_UNLIKELY(!it)) {
2148
286
        return unexpected(make_eof_parse_error(it.error()));
2149
286
    }
2150
2151
130k
    if (SCN_UNLIKELY(*range.begin() !=
2152
130k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
129k
        return unexpected(parse_error::error);
2154
129k
    }
2155
2156
392
    return *it;
2157
130k
}
_ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2145
548
{
2146
548
    auto it = read_code_unit(range);
2147
548
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
548
    if (SCN_UNLIKELY(*range.begin() !=
2152
548
                     static_cast<detail::char_t<Range>>(ch))) {
2153
548
        return unexpected(parse_error::error);
2154
548
    }
2155
2156
0
    return *it;
2157
548
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2145
244
{
2146
244
    auto it = read_code_unit(range);
2147
244
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
244
    if (SCN_UNLIKELY(*range.begin() !=
2152
244
                     static_cast<detail::char_t<Range>>(ch))) {
2153
244
        return unexpected(parse_error::error);
2154
244
    }
2155
2156
0
    return *it;
2157
244
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
2158
2159
template <typename Range>
2160
auto read_matching_code_point(Range range, char32_t cp)
2161
    -> parse_expected<ranges::const_iterator_t<Range>>
2162
{
2163
    auto val = read_code_point_into(range);
2164
    if (!val.is_valid()) {
2165
        return unexpected(parse_error::error);
2166
    }
2167
    auto decoded_cp = decode_code_point_exhaustive(val.codepoint);
2168
    if (SCN_UNLIKELY(cp != decoded_cp)) {
2169
        return unexpected(parse_error::error);
2170
    }
2171
    return val.iterator;
2172
}
2173
2174
template <typename Range>
2175
auto read_matching_string(Range range,
2176
                          std::basic_string_view<detail::char_t<Range>> str)
2177
    -> parse_expected<ranges::const_iterator_t<Range>>
2178
64
{
2179
64
    SCN_TRY(it, read_exactly_n_code_units(
2180
42
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
42
                    .transform_error(make_eof_parse_error));
2182
2183
42
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
42
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
42
        return unexpected(parse_error::error);
2186
42
    }
2187
0
    return it;
2188
42
}
_ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2178
20
{
2179
20
    SCN_TRY(it, read_exactly_n_code_units(
2180
8
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
8
                    .transform_error(make_eof_parse_error));
2182
2183
8
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
8
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
8
        return unexpected(parse_error::error);
2186
8
    }
2187
0
    return it;
2188
8
}
_ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2178
20
{
2179
20
    SCN_TRY(it, read_exactly_n_code_units(
2180
18
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
18
                    .transform_error(make_eof_parse_error));
2182
2183
18
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
18
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
18
        return unexpected(parse_error::error);
2186
18
    }
2187
0
    return it;
2188
18
}
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
_ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2178
12
{
2179
12
    SCN_TRY(it, read_exactly_n_code_units(
2180
6
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
6
                    .transform_error(make_eof_parse_error));
2182
2183
6
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
6
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
6
        return unexpected(parse_error::error);
2186
6
    }
2187
0
    return it;
2188
6
}
_ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2178
12
{
2179
12
    SCN_TRY(it, read_exactly_n_code_units(
2180
10
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
10
                    .transform_error(make_eof_parse_error));
2182
2183
10
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
10
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
10
        return unexpected(parse_error::error);
2186
10
    }
2187
0
    return it;
2188
10
}
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
2189
2190
template <typename Range>
2191
auto read_matching_string_classic(Range range, std::string_view str)
2192
    -> parse_expected<ranges::const_iterator_t<Range>>
2193
4.55k
{
2194
4.55k
    SCN_TRY(it, read_exactly_n_code_units(
2195
4.15k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
4.15k
                    .transform_error(make_eof_parse_error));
2197
2198
4.15k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.84k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
2.31k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
2.31k
            return unexpected(parse_error::error);
2202
2.31k
        }
2203
0
        return it;
2204
2.31k
    }
2205
1.84k
    else {
2206
1.84k
        auto range_it = range.begin();
2207
1.84k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.84k
            if (SCN_UNLIKELY(*range_it !=
2209
1.84k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.84k
                return unexpected(parse_error::error);
2211
1.84k
            }
2212
1.84k
        }
2213
0
        return it;
2214
1.84k
    }
2215
4.15k
}
_ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2193
1.92k
{
2194
1.92k
    SCN_TRY(it, read_exactly_n_code_units(
2195
1.82k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
1.82k
                    .transform_error(make_eof_parse_error));
2197
2198
1.82k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.82k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
1.82k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
1.82k
            return unexpected(parse_error::error);
2202
1.82k
        }
2203
0
        return it;
2204
1.82k
    }
2205
1.82k
    else {
2206
1.82k
        auto range_it = range.begin();
2207
1.82k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.82k
            if (SCN_UNLIKELY(*range_it !=
2209
1.82k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.82k
                return unexpected(parse_error::error);
2211
1.82k
            }
2212
1.82k
        }
2213
1.82k
        return it;
2214
1.82k
    }
2215
1.82k
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2193
608
{
2194
608
    SCN_TRY(it, read_exactly_n_code_units(
2195
490
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
490
                    .transform_error(make_eof_parse_error));
2197
2198
490
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
490
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
490
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
490
            return unexpected(parse_error::error);
2202
490
        }
2203
0
        return it;
2204
490
    }
2205
490
    else {
2206
490
        auto range_it = range.begin();
2207
490
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
490
            if (SCN_UNLIKELY(*range_it !=
2209
490
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
490
                return unexpected(parse_error::error);
2211
490
            }
2212
490
        }
2213
490
        return it;
2214
490
    }
2215
490
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2193
1.71k
{
2194
1.71k
    SCN_TRY(it, read_exactly_n_code_units(
2195
1.58k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
1.58k
                    .transform_error(make_eof_parse_error));
2197
2198
1.58k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.58k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
1.58k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
1.58k
            return unexpected(parse_error::error);
2202
1.58k
        }
2203
1.58k
        return it;
2204
1.58k
    }
2205
1.58k
    else {
2206
1.58k
        auto range_it = range.begin();
2207
1.58k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.58k
            if (SCN_UNLIKELY(*range_it !=
2209
1.58k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.58k
                return unexpected(parse_error::error);
2211
1.58k
            }
2212
1.58k
        }
2213
0
        return it;
2214
1.58k
    }
2215
1.58k
}
_ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2193
312
{
2194
312
    SCN_TRY(it, read_exactly_n_code_units(
2195
258
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
258
                    .transform_error(make_eof_parse_error));
2197
2198
258
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
258
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
258
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
258
            return unexpected(parse_error::error);
2202
258
        }
2203
258
        return it;
2204
258
    }
2205
258
    else {
2206
258
        auto range_it = range.begin();
2207
258
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
258
            if (SCN_UNLIKELY(*range_it !=
2209
258
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
258
                return unexpected(parse_error::error);
2211
258
            }
2212
258
        }
2213
0
        return it;
2214
258
    }
2215
258
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
2216
2217
// Ripped from fast_float
2218
constexpr bool fast_streq_nocase(const char* a, const char* b, size_t len)
2219
8.82M
{
2220
8.82M
    unsigned char running_diff{0};
2221
31.6M
    for (size_t i = 0; i < len; ++i) {
2222
22.8M
        running_diff |= static_cast<unsigned char>(a[i] ^ b[i]);
2223
22.8M
    }
2224
8.82M
    return running_diff == 0 || running_diff == 32;
2225
8.82M
}
2226
2227
template <typename Range>
2228
auto read_matching_string_classic_nocase(Range range, std::string_view str)
2229
    -> parse_expected<ranges::const_iterator_t<Range>>
2230
20.2M
{
2231
20.2M
    using char_type = detail::char_t<Range>;
2232
2233
20.2M
    if constexpr (ranges::contiguous_range<Range> &&
2234
20.2M
                  std::is_same_v<char_type, char>) {
2235
11.3M
        if (range.size() < str.size()) {
2236
78.1k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
78.1k
        }
2238
8.82M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
8.55M
            return unexpected(parse_error::error);
2240
8.55M
        }
2241
270k
        return ranges::next(range.begin(), str.size());
2242
8.82M
    }
2243
11.3M
    else {
2244
13.4M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
13.4M
            if (ch < 'A' || ch > 'Z') {
2246
13.2M
                return ch;
2247
13.2M
            }
2248
147k
            return static_cast<char_type>(ch +
2249
147k
                                          static_cast<char_type>('a' - 'A'));
2250
13.4M
        };
Unexecuted instantiation: _ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2244
11.0M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
11.0M
            if (ch < 'A' || ch > 'Z') {
2246
10.9M
                return ch;
2247
10.9M
            }
2248
131k
            return static_cast<char_type>(ch +
2249
131k
                                          static_cast<char_type>('a' - 'A'));
2250
11.0M
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2244
970
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
970
            if (ch < 'A' || ch > 'Z') {
2246
970
                return ch;
2247
970
            }
2248
0
            return static_cast<char_type>(ch +
2249
0
                                          static_cast<char_type>('a' - 'A'));
2250
970
        };
Unexecuted instantiation: _ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
1.16M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.16M
            if (ch < 'A' || ch > 'Z') {
2246
1.15M
                return ch;
2247
1.15M
            }
2248
7.73k
            return static_cast<char_type>(ch +
2249
7.73k
                                          static_cast<char_type>('a' - 'A'));
2250
1.16M
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
464
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
464
            if (ch < 'A' || ch > 'Z') {
2246
464
                return ch;
2247
464
            }
2248
0
            return static_cast<char_type>(ch +
2249
0
                                          static_cast<char_type>('a' - 'A'));
2250
464
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
1.17M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.17M
            if (ch < 'A' || ch > 'Z') {
2246
1.16M
                return ch;
2247
1.16M
            }
2248
7.73k
            return static_cast<char_type>(ch +
2249
7.73k
                                          static_cast<char_type>('a' - 'A'));
2250
1.17M
        };
2251
2252
11.3M
        SCN_TRY(it, read_exactly_n_code_units(
2253
11.1M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
11.1M
                        .transform_error(make_eof_parse_error));
2255
2256
11.1M
        if (SCN_UNLIKELY(!std::equal(
2257
11.1M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
11.1M
                    return ascii_tolower(a) ==
2259
11.1M
                           static_cast<detail::char_t<Range>>(b);
2260
11.1M
                }))) {
2261
10.8M
            return unexpected(parse_error::error);
2262
10.8M
        }
2263
2264
269k
        return it;
2265
11.1M
    }
2266
20.2M
}
Unexecuted instantiation: _ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2230
8.99M
{
2231
8.99M
    using char_type = detail::char_t<Range>;
2232
2233
8.99M
    if constexpr (ranges::contiguous_range<Range> &&
2234
8.99M
                  std::is_same_v<char_type, char>) {
2235
8.99M
        if (range.size() < str.size()) {
2236
8.99M
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
8.99M
        }
2238
8.99M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
8.99M
            return unexpected(parse_error::error);
2240
8.99M
        }
2241
8.99M
        return ranges::next(range.begin(), str.size());
2242
8.99M
    }
2243
8.99M
    else {
2244
8.99M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
8.99M
            if (ch < 'A' || ch > 'Z') {
2246
8.99M
                return ch;
2247
8.99M
            }
2248
8.99M
            return static_cast<char_type>(ch +
2249
8.99M
                                          static_cast<char_type>('a' - 'A'));
2250
8.99M
        };
2251
2252
8.99M
        SCN_TRY(it, read_exactly_n_code_units(
2253
8.92M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
8.92M
                        .transform_error(make_eof_parse_error));
2255
2256
8.92M
        if (SCN_UNLIKELY(!std::equal(
2257
8.92M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
8.92M
                    return ascii_tolower(a) ==
2259
8.92M
                           static_cast<detail::char_t<Range>>(b);
2260
8.92M
                }))) {
2261
8.65M
            return unexpected(parse_error::error);
2262
8.65M
        }
2263
2264
268k
        return it;
2265
8.92M
    }
2266
8.99M
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2230
1.14k
{
2231
1.14k
    using char_type = detail::char_t<Range>;
2232
2233
1.14k
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.14k
                  std::is_same_v<char_type, char>) {
2235
1.14k
        if (range.size() < str.size()) {
2236
1.14k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.14k
        }
2238
1.14k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.14k
            return unexpected(parse_error::error);
2240
1.14k
        }
2241
1.14k
        return ranges::next(range.begin(), str.size());
2242
1.14k
    }
2243
1.14k
    else {
2244
1.14k
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.14k
            if (ch < 'A' || ch > 'Z') {
2246
1.14k
                return ch;
2247
1.14k
            }
2248
1.14k
            return static_cast<char_type>(ch +
2249
1.14k
                                          static_cast<char_type>('a' - 'A'));
2250
1.14k
        };
2251
2252
1.14k
        SCN_TRY(it, read_exactly_n_code_units(
2253
970
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
970
                        .transform_error(make_eof_parse_error));
2255
2256
970
        if (SCN_UNLIKELY(!std::equal(
2257
970
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
970
                    return ascii_tolower(a) ==
2259
970
                           static_cast<detail::char_t<Range>>(b);
2260
970
                }))) {
2261
970
            return unexpected(parse_error::error);
2262
970
        }
2263
2264
0
        return it;
2265
970
    }
2266
1.14k
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2230
8.90M
{
2231
8.90M
    using char_type = detail::char_t<Range>;
2232
2233
8.90M
    if constexpr (ranges::contiguous_range<Range> &&
2234
8.90M
                  std::is_same_v<char_type, char>) {
2235
8.90M
        if (range.size() < str.size()) {
2236
78.1k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
78.1k
        }
2238
8.82M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
8.55M
            return unexpected(parse_error::error);
2240
8.55M
        }
2241
270k
        return ranges::next(range.begin(), str.size());
2242
8.82M
    }
2243
8.90M
    else {
2244
8.90M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
8.90M
            if (ch < 'A' || ch > 'Z') {
2246
8.90M
                return ch;
2247
8.90M
            }
2248
8.90M
            return static_cast<char_type>(ch +
2249
8.90M
                                          static_cast<char_type>('a' - 'A'));
2250
8.90M
        };
2251
2252
8.90M
        SCN_TRY(it, read_exactly_n_code_units(
2253
8.90M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
8.90M
                        .transform_error(make_eof_parse_error));
2255
2256
8.90M
        if (SCN_UNLIKELY(!std::equal(
2257
8.90M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
8.90M
                    return ascii_tolower(a) ==
2259
8.90M
                           static_cast<detail::char_t<Range>>(b);
2260
8.90M
                }))) {
2261
8.90M
            return unexpected(parse_error::error);
2262
8.90M
        }
2263
2264
8.90M
        return it;
2265
8.90M
    }
2266
8.90M
}
Unexecuted instantiation: _ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2230
1.19M
{
2231
1.19M
    using char_type = detail::char_t<Range>;
2232
2233
1.19M
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.19M
                  std::is_same_v<char_type, char>) {
2235
1.19M
        if (range.size() < str.size()) {
2236
1.19M
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.19M
        }
2238
1.19M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.19M
            return unexpected(parse_error::error);
2240
1.19M
        }
2241
1.19M
        return ranges::next(range.begin(), str.size());
2242
1.19M
    }
2243
1.19M
    else {
2244
1.19M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.19M
            if (ch < 'A' || ch > 'Z') {
2246
1.19M
                return ch;
2247
1.19M
            }
2248
1.19M
            return static_cast<char_type>(ch +
2249
1.19M
                                          static_cast<char_type>('a' - 'A'));
2250
1.19M
        };
2251
2252
1.19M
        SCN_TRY(it, read_exactly_n_code_units(
2253
1.11M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
1.11M
                        .transform_error(make_eof_parse_error));
2255
2256
1.11M
        if (SCN_UNLIKELY(!std::equal(
2257
1.11M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
1.11M
                    return ascii_tolower(a) ==
2259
1.11M
                           static_cast<detail::char_t<Range>>(b);
2260
1.11M
                }))) {
2261
1.11M
            return unexpected(parse_error::error);
2262
1.11M
        }
2263
2264
357
        return it;
2265
1.11M
    }
2266
1.19M
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2230
526
{
2231
526
    using char_type = detail::char_t<Range>;
2232
2233
526
    if constexpr (ranges::contiguous_range<Range> &&
2234
526
                  std::is_same_v<char_type, char>) {
2235
526
        if (range.size() < str.size()) {
2236
526
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
526
        }
2238
526
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
526
            return unexpected(parse_error::error);
2240
526
        }
2241
526
        return ranges::next(range.begin(), str.size());
2242
526
    }
2243
526
    else {
2244
526
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
526
            if (ch < 'A' || ch > 'Z') {
2246
526
                return ch;
2247
526
            }
2248
526
            return static_cast<char_type>(ch +
2249
526
                                          static_cast<char_type>('a' - 'A'));
2250
526
        };
2251
2252
526
        SCN_TRY(it, read_exactly_n_code_units(
2253
464
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
464
                        .transform_error(make_eof_parse_error));
2255
2256
464
        if (SCN_UNLIKELY(!std::equal(
2257
464
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
464
                    return ascii_tolower(a) ==
2259
464
                           static_cast<detail::char_t<Range>>(b);
2260
464
                }))) {
2261
464
            return unexpected(parse_error::error);
2262
464
        }
2263
2264
0
        return it;
2265
464
    }
2266
526
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2230
1.19M
{
2231
1.19M
    using char_type = detail::char_t<Range>;
2232
2233
1.19M
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.19M
                  std::is_same_v<char_type, char>) {
2235
1.19M
        if (range.size() < str.size()) {
2236
1.19M
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.19M
        }
2238
1.19M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.19M
            return unexpected(parse_error::error);
2240
1.19M
        }
2241
1.19M
        return ranges::next(range.begin(), str.size());
2242
1.19M
    }
2243
1.19M
    else {
2244
1.19M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.19M
            if (ch < 'A' || ch > 'Z') {
2246
1.19M
                return ch;
2247
1.19M
            }
2248
1.19M
            return static_cast<char_type>(ch +
2249
1.19M
                                          static_cast<char_type>('a' - 'A'));
2250
1.19M
        };
2251
2252
1.19M
        SCN_TRY(it, read_exactly_n_code_units(
2253
1.11M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
1.11M
                        .transform_error(make_eof_parse_error));
2255
2256
1.11M
        if (SCN_UNLIKELY(!std::equal(
2257
1.11M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
1.11M
                    return ascii_tolower(a) ==
2259
1.11M
                           static_cast<detail::char_t<Range>>(b);
2260
1.11M
                }))) {
2261
1.11M
            return unexpected(parse_error::error);
2262
1.11M
        }
2263
2264
357
        return it;
2265
1.11M
    }
2266
1.19M
}
2267
2268
template <typename Range>
2269
auto read_one_of_code_unit(Range range, std::string_view str)
2270
    -> parse_expected<ranges::const_iterator_t<Range>>
2271
14.0M
{
2272
14.0M
    auto it = read_code_unit(range);
2273
14.0M
    if (SCN_UNLIKELY(!it)) {
2274
21.5k
        return unexpected(make_eof_parse_error(it.error()));
2275
21.5k
    }
2276
2277
26.7M
    for (auto ch : str) {
2278
26.7M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
2.23M
            return *it;
2280
2.23M
        }
2281
26.7M
    }
2282
2283
11.7M
    return unexpected(parse_error::error);
2284
13.9M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2271
7.23M
{
2272
7.23M
    auto it = read_code_unit(range);
2273
7.23M
    if (SCN_UNLIKELY(!it)) {
2274
17.7k
        return unexpected(make_eof_parse_error(it.error()));
2275
17.7k
    }
2276
2277
13.7M
    for (auto ch : str) {
2278
13.7M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
1.22M
            return *it;
2280
1.22M
        }
2281
13.7M
    }
2282
2283
5.99M
    return unexpected(parse_error::error);
2284
7.21M
}
_ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2271
1.08k
{
2272
1.08k
    auto it = read_code_unit(range);
2273
1.08k
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
2.17k
    for (auto ch : str) {
2278
2.17k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
2.17k
    }
2282
2283
1.08k
    return unexpected(parse_error::error);
2284
1.08k
}
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2271
5.26M
{
2272
5.26M
    auto it = read_code_unit(range);
2273
5.26M
    if (SCN_UNLIKELY(!it)) {
2274
3.27k
        return unexpected(make_eof_parse_error(it.error()));
2275
3.27k
    }
2276
2277
9.95M
    for (auto ch : str) {
2278
9.95M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
1.00M
            return *it;
2280
1.00M
        }
2281
9.95M
    }
2282
2283
4.24M
    return unexpected(parse_error::error);
2284
5.25M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2271
787k
{
2272
787k
    auto it = read_code_unit(range);
2273
787k
    if (SCN_UNLIKELY(!it)) {
2274
471
        return unexpected(make_eof_parse_error(it.error()));
2275
471
    }
2276
2277
1.57M
    for (auto ch : str) {
2278
1.57M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
6.38k
            return *it;
2280
6.38k
        }
2281
1.57M
    }
2282
2283
780k
    return unexpected(parse_error::error);
2284
787k
}
_ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2271
488
{
2272
488
    auto it = read_code_unit(range);
2273
488
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
976
    for (auto ch : str) {
2278
976
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
976
    }
2282
2283
488
    return unexpected(parse_error::error);
2284
488
}
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2271
731k
{
2272
731k
    auto it = read_code_unit(range);
2273
731k
    if (SCN_UNLIKELY(!it)) {
2274
118
        return unexpected(make_eof_parse_error(it.error()));
2275
118
    }
2276
2277
1.46M
    for (auto ch : str) {
2278
1.46M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
4.09k
            return *it;
2280
4.09k
        }
2281
1.46M
    }
2282
2283
726k
    return unexpected(parse_error::error);
2284
731k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
2285
2286
template <typename Range, template <class> class Expected, typename Iterator>
2287
auto apply_opt(Expected<Iterator>&& result, Range range)
2288
    -> std::enable_if_t<detail::is_expected<Expected<Iterator>>::value,
2289
                        ranges::const_iterator_t<Range>>
2290
1.40M
{
2291
1.40M
    if (!result) {
2292
1.27M
        return range.begin();
2293
1.27M
    }
2294
129k
    return *result;
2295
1.40M
}
Unexecuted instantiation: _ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
Line
Count
Source
2290
564k
{
2291
564k
    if (!result) {
2292
499k
        return range.begin();
2293
499k
    }
2294
64.7k
    return *result;
2295
564k
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2290
284
{
2291
284
    if (!result) {
2292
284
        return range.begin();
2293
284
    }
2294
0
    return *result;
2295
284
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2290
562k
{
2291
562k
    if (!result) {
2292
498k
        return range.begin();
2293
498k
    }
2294
64.2k
    return *result;
2295
562k
}
Unexecuted instantiation: _ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
Line
Count
Source
2290
140k
{
2291
140k
    if (!result) {
2292
140k
        return range.begin();
2293
140k
    }
2294
168
    return *result;
2295
140k
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2290
124
{
2291
124
    if (!result) {
2292
124
        return range.begin();
2293
124
    }
2294
0
    return *result;
2295
124
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2290
141k
{
2291
141k
    if (!result) {
2292
141k
        return range.begin();
2293
141k
    }
2294
168
    return *result;
2295
141k
}
2296
2297
/////////////////////////////////////////////////////////////////
2298
// Text width calculation
2299
/////////////////////////////////////////////////////////////////
2300
2301
constexpr std::size_t calculate_text_width_for_fmt_v10(char32_t cp)
2302
131k
{
2303
131k
    if (cp >= 0x1100 &&
2304
131k
        (cp <= 0x115f ||  // Hangul Jamo init. consonants
2305
13.6k
         cp == 0x2329 ||  // LEFT-POINTING ANGLE BRACKET
2306
13.6k
         cp == 0x232a ||  // RIGHT-POINTING ANGLE BRACKET
2307
         // CJK ... Yi except IDEOGRAPHIC HALF FILL SPACE:
2308
13.6k
         (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
2309
13.6k
         (cp >= 0xac00 && cp <= 0xd7a3) ||    // Hangul Syllables
2310
13.6k
         (cp >= 0xf900 && cp <= 0xfaff) ||    // CJK Compatibility Ideographs
2311
13.6k
         (cp >= 0xfe10 && cp <= 0xfe19) ||    // Vertical Forms
2312
13.6k
         (cp >= 0xfe30 && cp <= 0xfe6f) ||    // CJK Compatibility Forms
2313
13.6k
         (cp >= 0xff00 && cp <= 0xff60) ||    // Fullwidth Forms
2314
13.6k
         (cp >= 0xffe0 && cp <= 0xffe6) ||    // Fullwidth Forms
2315
13.6k
         (cp >= 0x20000 && cp <= 0x2fffd) ||  // CJK
2316
13.6k
         (cp >= 0x30000 && cp <= 0x3fffd) ||
2317
         // Miscellaneous Symbols and Pictographs + Emoticons:
2318
13.6k
         (cp >= 0x1f300 && cp <= 0x1f64f) ||
2319
         // Supplemental Symbols and Pictographs:
2320
13.6k
         (cp >= 0x1f900 && cp <= 0x1f9ff))) {
2321
2.84k
        return 2;
2322
2.84k
    }
2323
128k
    return 1;
2324
131k
}
2325
2326
constexpr std::size_t calculate_valid_text_width(char32_t cp)
2327
91.9k
{
2328
91.9k
    return calculate_text_width_for_fmt_v10(cp);
2329
91.9k
}
2330
2331
template <typename CharT>
2332
std::size_t calculate_valid_text_width(std::basic_string_view<CharT> input)
2333
{
2334
    size_t count{0};
2335
    for_each_code_point_valid(input, [&count](char32_t cp) {
2336
        count += calculate_text_width_for_fmt_v10(cp);
2337
    });
2338
    return count;
2339
}
2340
2341
constexpr std::size_t calculate_text_width(char32_t cp)
2342
180
{
2343
180
    return calculate_text_width_for_fmt_v10(cp);
2344
180
}
2345
2346
template <typename CharT>
2347
std::size_t calculate_text_width(std::basic_string_view<CharT> input)
2348
25.9k
{
2349
25.9k
    size_t count{0};
2350
39.1k
    for_each_code_point(input, [&count](char32_t cp) {
2351
39.1k
        count += calculate_text_width_for_fmt_v10(cp);
2352
39.1k
    });
scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2350
33.7k
    for_each_code_point(input, [&count](char32_t cp) {
2351
33.7k
        count += calculate_text_width_for_fmt_v10(cp);
2352
33.7k
    });
scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2350
5.47k
    for_each_code_point(input, [&count](char32_t cp) {
2351
5.47k
        count += calculate_text_width_for_fmt_v10(cp);
2352
5.47k
    });
2353
25.9k
    return count;
2354
25.9k
}
unsigned long scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
2348
22.4k
{
2349
22.4k
    size_t count{0};
2350
22.4k
    for_each_code_point(input, [&count](char32_t cp) {
2351
22.4k
        count += calculate_text_width_for_fmt_v10(cp);
2352
22.4k
    });
2353
22.4k
    return count;
2354
22.4k
}
unsigned long scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
2348
3.46k
{
2349
3.46k
    size_t count{0};
2350
3.46k
    for_each_code_point(input, [&count](char32_t cp) {
2351
3.46k
        count += calculate_text_width_for_fmt_v10(cp);
2352
3.46k
    });
2353
3.46k
    return count;
2354
3.46k
}
2355
2356
namespace counted_width_iterator_impl {
2357
template <typename It, typename S>
2358
class counted_width_iterator {
2359
    static_assert(ranges::forward_iterator<It>);
2360
    static_assert(ranges::sentinel_for<S, It>);
2361
2362
    template <typename OtherIt, typename OtherS>
2363
    friend class counted_width_iterator;
2364
2365
public:
2366
    using iterator = It;
2367
    using sentinel = S;
2368
    using value_type = ranges::iter_value_t<It>;
2369
    using pointer = value_type*;
2370
    using reference = value_type&;
2371
    using difference_type = ranges::iter_difference_t<It>;
2372
    using iterator_category =
2373
        std::conditional_t<ranges::bidirectional_iterator<It>,
2374
                           std::bidirectional_iterator_tag,
2375
                           std::forward_iterator_tag>;
2376
2377
    constexpr counted_width_iterator() = default;
2378
2379
    constexpr counted_width_iterator(iterator x, sentinel s, difference_type n)
2380
        : m_current(x), m_end(s), m_count(n)
2381
32.7k
    {
2382
32.7k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::counted_width_iterator(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, long)
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::counted_width_iterator(char const*, char const*, long)
Line
Count
Source
2381
19.1k
    {
2382
19.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::counted_width_iterator(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, long)
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::counted_width_iterator(wchar_t const*, wchar_t const*, long)
Line
Count
Source
2381
7.26k
    {
2382
7.26k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, long)
Line
Count
Source
2381
4.48k
    {
2382
4.48k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, long)
Line
Count
Source
2381
1.84k
    {
2382
1.84k
    }
2383
2384
    template <typename OtherIt,
2385
              typename OtherS,
2386
              std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2387
                               std::is_convertible_v<OtherS, S>>* = nullptr>
2388
    constexpr counted_width_iterator(
2389
        const counted_width_iterator<OtherIt, OtherS>& other)
2390
        : m_current(other.m_current),
2391
          m_end(other.m_end),
2392
          m_count(other.m_count),
2393
          m_multibyte_left(other.m_multibyte_left)
2394
    {
2395
    }
2396
2397
    template <typename OtherIt, typename OtherS>
2398
    constexpr auto operator=(
2399
        const counted_width_iterator<OtherIt, OtherS>& other)
2400
        -> std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2401
                                std::is_convertible_v<OtherS, S>,
2402
                            counted_width_iterator&>
2403
    {
2404
        m_current = other.m_current;
2405
        m_end = other.m_end;
2406
        m_count = other.m_count;
2407
        m_multibyte_left = other.m_multibyte_left;
2408
        return *this;
2409
    }
2410
2411
    constexpr It base() const
2412
220k
    {
2413
220k
        return m_current;
2414
220k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::base() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::base() const
Line
Count
Source
2412
180k
    {
2413
180k
        return m_current;
2414
180k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::base() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::base() const
Line
Count
Source
2412
24.4k
    {
2413
24.4k
        return m_current;
2414
24.4k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::base() const
Line
Count
Source
2412
12.0k
    {
2413
12.0k
        return m_current;
2414
12.0k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::base() const
Line
Count
Source
2412
3.71k
    {
2413
3.71k
        return m_current;
2414
3.71k
    }
2415
    constexpr difference_type count() const
2416
215k
    {
2417
215k
        return m_count;
2418
215k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::count() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::count() const
Line
Count
Source
2416
176k
    {
2417
176k
        return m_count;
2418
176k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::count() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::count() const
Line
Count
Source
2416
23.2k
    {
2417
23.2k
        return m_count;
2418
23.2k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::count() const
Line
Count
Source
2416
12.4k
    {
2417
12.4k
        return m_count;
2418
12.4k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::count() const
Line
Count
Source
2416
3.73k
    {
2417
3.73k
        return m_count;
2418
3.73k
    }
2419
    constexpr difference_type multibyte_left() const
2420
3.47k
    {
2421
3.47k
        return m_multibyte_left;
2422
3.47k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::multibyte_left() const
Line
Count
Source
2420
2.51k
    {
2421
2.51k
        return m_multibyte_left;
2422
2.51k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::multibyte_left() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::multibyte_left() const
Line
Count
Source
2420
382
    {
2421
382
        return m_multibyte_left;
2422
382
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2420
558
    {
2421
558
        return m_multibyte_left;
2422
558
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2420
18
    {
2421
18
        return m_multibyte_left;
2422
18
    }
2423
2424
    constexpr decltype(auto) operator*()
2425
230k
    {
2426
230k
        return *m_current;
2427
230k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*()
Line
Count
Source
2425
198k
    {
2426
198k
        return *m_current;
2427
198k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator*()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*()
Line
Count
Source
2425
23.1k
    {
2426
23.1k
        return *m_current;
2427
23.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator*()
Line
Count
Source
2425
6.85k
    {
2426
6.85k
        return *m_current;
2427
6.85k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator*()
Line
Count
Source
2425
1.87k
    {
2426
1.87k
        return *m_current;
2427
1.87k
    }
2428
    constexpr decltype(auto) operator*() const
2429
8.53k
    {
2430
8.53k
        return *m_current;
2431
8.53k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*() const
Line
Count
Source
2429
7.08k
    {
2430
7.08k
        return *m_current;
2431
7.08k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*() const
Line
Count
Source
2429
1.44k
    {
2430
1.44k
        return *m_current;
2431
1.44k
    }
2432
2433
    constexpr counted_width_iterator& operator++()
2434
196k
    {
2435
196k
        SCN_EXPECT(m_current != m_end);
2436
196k
        _increment_current();
2437
196k
        return *this;
2438
196k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator++()
Line
Count
Source
2434
172k
    {
2435
172k
        SCN_EXPECT(m_current != m_end);
2436
172k
        _increment_current();
2437
172k
        return *this;
2438
172k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator++()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator++()
Line
Count
Source
2434
17.0k
    {
2435
17.0k
        SCN_EXPECT(m_current != m_end);
2436
17.0k
        _increment_current();
2437
17.0k
        return *this;
2438
17.0k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator++()
Line
Count
Source
2434
5.79k
    {
2435
5.79k
        SCN_EXPECT(m_current != m_end);
2436
5.79k
        _increment_current();
2437
5.79k
        return *this;
2438
5.79k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator++()
Line
Count
Source
2434
722
    {
2435
722
        SCN_EXPECT(m_current != m_end);
2436
722
        _increment_current();
2437
722
        return *this;
2438
722
    }
2439
2440
    constexpr counted_width_iterator operator++(int)
2441
    {
2442
        auto tmp = *this;
2443
        ++*this;
2444
        return tmp;
2445
    }
2446
2447
    template <typename Iter = It>
2448
    constexpr auto operator--()
2449
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2450
                            counted_width_iterator&>
2451
0
    {
2452
0
        _decrement_current();
2453
0
        return *this;
2454
0
    }
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorIPKcS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorIPKwS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
2455
2456
    template <typename Iter = It>
2457
    constexpr auto operator--(int)
2458
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2459
                            counted_width_iterator>
2460
    {
2461
        auto tmp = *this;
2462
        --*this;
2463
        return tmp;
2464
    }
2465
2466
    // TODO: optimize, make better than forward, if possible
2467
#if 0
2468
                template <typename Iter = It>
2469
                constexpr auto operator+(difference_type n) -> std::enable_if_t<
2470
                    ranges_std::random_access_iterator<Iter>,
2471
                    counted_width_iterator>
2472
                {
2473
                    // TODO
2474
                    return counted_width_iterator(m_current + n, m_count - n);
2475
                }
2476
2477
                template <typename Iter = It,
2478
                          std::enable_if_t<ranges_std::random_access_iterator<
2479
                              Iter>>* = nullptr>
2480
                friend constexpr counted_width_iterator operator+(
2481
                    ranges_std::iter_difference_t<Iter> n,
2482
                    const counted_width_iterator<Iter>& x)
2483
                {
2484
                    return x + n;
2485
                }
2486
2487
                template <typename Iter = It>
2488
                constexpr auto operator+=(difference_type n)
2489
                    -> std::enable_if_t<
2490
                        ranges_std::random_access_iterator<Iter>,
2491
                        counted_width_iterator&>
2492
                {
2493
                    // TODO
2494
                    m_current += n;
2495
                    m_count -= n;
2496
                    return *this;
2497
                }
2498
2499
                template <typename Iter = It>
2500
                constexpr auto operator-(difference_type n) -> std::enable_if_t<
2501
                    ranges_std::random_access_iterator<Iter>,
2502
                    counted_width_iterator>
2503
                {
2504
                    // TODO
2505
                    return counted_width_iterator(m_current - n, m_count + n);
2506
                }
2507
2508
                template <typename Iter = It,
2509
                          std::enable_if_t<ranges_std::random_access_iterator<
2510
                              Iter>>* = nullptr>
2511
                constexpr decltype(auto) operator[](difference_type n) const
2512
                {
2513
                    return m_current[n];
2514
                }
2515
#endif
2516
2517
    template <typename OtherIt, typename OtherS>
2518
    friend constexpr auto operator==(
2519
        const counted_width_iterator& a,
2520
        const counted_width_iterator<OtherIt, OtherS>& b)
2521
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2522
106k
    {
2523
106k
        return a.m_current == b.m_current;
2524
106k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v3::impl::counted_width_iterator_impl::operator==<char const*, char const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
97.2k
    {
2523
97.2k
        return a.m_current == b.m_current;
2524
97.2k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v3::impl::counted_width_iterator_impl::operator==<wchar_t const*, wchar_t const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
6.41k
    {
2523
6.41k
        return a.m_current == b.m_current;
2524
6.41k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
2.51k
    {
2523
2.51k
        return a.m_current == b.m_current;
2524
2.51k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2525
    template <typename OtherIt, typename OtherS>
2526
    friend constexpr auto operator!=(
2527
        const counted_width_iterator& a,
2528
        const counted_width_iterator<OtherIt, OtherS>& b)
2529
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2530
101k
    {
2531
101k
        return !(a == b);
2532
101k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<char const*, char const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
93.1k
    {
2531
93.1k
        return !(a == b);
2532
93.1k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<wchar_t const*, wchar_t const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
5.93k
    {
2531
5.93k
        return !(a == b);
2532
5.93k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
2.51k
    {
2531
2.51k
        return !(a == b);
2532
2.51k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2533
2534
    friend constexpr bool operator==(const counted_width_iterator& x,
2535
                                     ranges::default_sentinel_t)
2536
    {
2537
        return x.count() == 0 && x.multibyte_left() == 0;
2538
    }
2539
    friend constexpr bool operator==(ranges::default_sentinel_t,
2540
                                     const counted_width_iterator& x)
2541
    {
2542
        return x.count() == 0 && x.multibyte_left() == 0;
2543
    }
2544
2545
    friend constexpr bool operator!=(const counted_width_iterator& a,
2546
                                     ranges::default_sentinel_t b)
2547
    {
2548
        return !(a == b);
2549
    }
2550
    friend constexpr bool operator!=(ranges::default_sentinel_t a,
2551
                                     const counted_width_iterator& b)
2552
    {
2553
        return !(a == b);
2554
    }
2555
2556
    template <typename OtherIt, typename OtherS>
2557
    friend constexpr auto operator<(
2558
        const counted_width_iterator& a,
2559
        const counted_width_iterator<OtherIt, OtherS>& b)
2560
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2561
    {
2562
        if (a.count() == b.count()) {
2563
            return a.multibyte_left() > b.multibyte_left();
2564
        }
2565
2566
        return a.count() > b.count();
2567
    }
2568
2569
    template <typename OtherIt, typename OtherS>
2570
    friend constexpr auto operator>(
2571
        const counted_width_iterator& a,
2572
        const counted_width_iterator<OtherIt, OtherS>& b)
2573
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2574
    {
2575
        return !(b < a);
2576
    }
2577
2578
    template <typename OtherIt, typename OtherS>
2579
    friend constexpr auto operator<=(
2580
        const counted_width_iterator& a,
2581
        const counted_width_iterator<OtherIt, OtherS>& b)
2582
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2583
    {
2584
        return !(b < a);
2585
    }
2586
2587
    template <typename OtherIt, typename OtherS>
2588
    friend constexpr auto operator>=(
2589
        const counted_width_iterator& a,
2590
        const counted_width_iterator<OtherIt, OtherS>& b)
2591
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2592
    {
2593
        return !(a < b);
2594
    }
2595
2596
#if 0
2597
                template <typename OtherIt, typename OtherS>
2598
                friend constexpr auto operator-(
2599
                    const counted_width_iterator& a,
2600
                    const counted_width_iterator<OtherIt, OtherS>& b)
2601
                    -> std::enable_if_t<ranges_std::common_with<OtherIt, It>,
2602
                                        ranges_std::iter_difference_t<OtherIt>>
2603
                {
2604
                    // TODO
2605
                }
2606
2607
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2608
                    const counted_width_iterator& x,
2609
                    ranges_std::default_sentinel_t)
2610
                {
2611
                    // TODO
2612
                }
2613
2614
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2615
                    ranges_std::default_sentinel_t,
2616
                    const counted_width_iterator& x)
2617
                {
2618
                    // TODO
2619
                }
2620
#endif
2621
2622
#if 0
2623
                template <typename Iter = It>
2624
                constexpr auto operator-=(difference_type n)
2625
                    -> std::enable_if_t<
2626
                        ranges_std::random_access_iterator<Iter>,
2627
                        counted_width_iterator&>
2628
                {
2629
                    // TODO
2630
                    m_current -= n;
2631
                    m_count += n;
2632
                    return *this;
2633
                }
2634
#endif
2635
2636
private:
2637
    difference_type _get_cp_length_at_current() const
2638
113k
    {
2639
113k
        return static_cast<difference_type>(
2640
113k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
113k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_cp_length_at_current() const
Line
Count
Source
2638
91.6k
    {
2639
91.6k
        return static_cast<difference_type>(
2640
91.6k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
91.6k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_cp_length_at_current() const
Line
Count
Source
2638
17.0k
    {
2639
17.0k
        return static_cast<difference_type>(
2640
17.0k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
17.0k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2638
4.07k
    {
2639
4.07k
        return static_cast<difference_type>(
2640
4.07k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
4.07k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2638
722
    {
2639
722
        return static_cast<difference_type>(
2640
722
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
722
    }
2642
2643
    difference_type _get_width_at_current_cp_start(difference_type cplen) const
2644
113k
    {
2645
113k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
700
            return 0;
2647
700
        }
2648
2649
112k
        if (cplen == 1) {
2650
91.9k
            SCN_EXPECT(m_current != m_end);
2651
91.9k
            auto cp = static_cast<char32_t>(*m_current);
2652
91.9k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
91.9k
        }
2654
2655
20.8k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
20.8k
                                           cplen);
2657
20.8k
        if (SCN_UNLIKELY(!r)) {
2658
246
            return 0;
2659
246
        }
2660
2661
20.5k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
20.5k
        return static_cast<difference_type>(
2663
20.5k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
20.8k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
91.6k
    {
2645
91.6k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
700
            return 0;
2647
700
        }
2648
2649
90.9k
        if (cplen == 1) {
2650
71.1k
            SCN_EXPECT(m_current != m_end);
2651
71.1k
            auto cp = static_cast<char32_t>(*m_current);
2652
71.1k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
71.1k
        }
2654
2655
19.7k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
19.7k
                                           cplen);
2657
19.7k
        if (SCN_UNLIKELY(!r)) {
2658
246
            return 0;
2659
246
        }
2660
2661
19.5k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
19.5k
        return static_cast<difference_type>(
2663
19.5k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
19.7k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
17.0k
    {
2645
17.0k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
17.0k
        if (cplen == 1) {
2650
17.0k
            SCN_EXPECT(m_current != m_end);
2651
17.0k
            auto cp = static_cast<char32_t>(*m_current);
2652
17.0k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
17.0k
        }
2654
2655
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
0
                                           cplen);
2657
0
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
0
        return static_cast<difference_type>(
2663
0
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
0
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
4.07k
    {
2645
4.07k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
4.07k
        if (cplen == 1) {
2650
3.00k
            SCN_EXPECT(m_current != m_end);
2651
3.00k
            auto cp = static_cast<char32_t>(*m_current);
2652
3.00k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
3.00k
        }
2654
2655
1.07k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
1.07k
                                           cplen);
2657
1.07k
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
1.07k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
1.07k
        return static_cast<difference_type>(
2663
1.07k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
1.07k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
722
    {
2645
722
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
722
        if (cplen == 1) {
2650
722
            SCN_EXPECT(m_current != m_end);
2651
722
            auto cp = static_cast<char32_t>(*m_current);
2652
722
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
722
        }
2654
2655
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
0
                                           cplen);
2657
0
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
0
        return static_cast<difference_type>(
2663
0
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
0
    }
2665
2666
    void _increment_current()
2667
196k
    {
2668
196k
        if (m_multibyte_left == 0) {
2669
113k
            auto cplen = _get_cp_length_at_current();
2670
113k
            m_multibyte_left = cplen - 1;
2671
113k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
113k
        }
2673
83.0k
        else {
2674
83.0k
            --m_multibyte_left;
2675
83.0k
        }
2676
2677
196k
        ++m_current;
2678
196k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_increment_current()
Line
Count
Source
2667
172k
    {
2668
172k
        if (m_multibyte_left == 0) {
2669
91.6k
            auto cplen = _get_cp_length_at_current();
2670
91.6k
            m_multibyte_left = cplen - 1;
2671
91.6k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
91.6k
        }
2673
81.2k
        else {
2674
81.2k
            --m_multibyte_left;
2675
81.2k
        }
2676
2677
172k
        ++m_current;
2678
172k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_increment_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_increment_current()
Line
Count
Source
2667
17.0k
    {
2668
17.0k
        if (m_multibyte_left == 0) {
2669
17.0k
            auto cplen = _get_cp_length_at_current();
2670
17.0k
            m_multibyte_left = cplen - 1;
2671
17.0k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
17.0k
        }
2673
0
        else {
2674
0
            --m_multibyte_left;
2675
0
        }
2676
2677
17.0k
        ++m_current;
2678
17.0k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2667
5.79k
    {
2668
5.79k
        if (m_multibyte_left == 0) {
2669
4.07k
            auto cplen = _get_cp_length_at_current();
2670
4.07k
            m_multibyte_left = cplen - 1;
2671
4.07k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
4.07k
        }
2673
1.71k
        else {
2674
1.71k
            --m_multibyte_left;
2675
1.71k
        }
2676
2677
5.79k
        ++m_current;
2678
5.79k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2667
722
    {
2668
722
        if (m_multibyte_left == 0) {
2669
722
            auto cplen = _get_cp_length_at_current();
2670
722
            m_multibyte_left = cplen - 1;
2671
722
            m_count -= _get_width_at_current_cp_start(cplen);
2672
722
        }
2673
0
        else {
2674
0
            --m_multibyte_left;
2675
0
        }
2676
2677
722
        ++m_current;
2678
722
    }
2679
2680
    void _decrement_current()
2681
0
    {
2682
0
        --m_current;
2683
2684
0
        auto cplen = _get_cp_length_at_current();
2685
0
        if (cplen == 0) {
2686
0
            ++m_multibyte_left;
2687
0
        }
2688
0
        else {
2689
0
            m_count += _get_width_at_current_cp_start(cplen);
2690
0
            m_multibyte_left = cplen - 1;
2691
0
        }
2692
0
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_decrement_current()
2693
2694
    It m_current{};
2695
    S m_end{};
2696
    difference_type m_count{0};
2697
    difference_type m_multibyte_left{0};
2698
};
2699
2700
template <typename I, typename S>
2701
counted_width_iterator(I, S, ranges::iter_difference_t<I>)
2702
    -> counted_width_iterator<I, S>;
2703
}  // namespace counted_width_iterator_impl
2704
2705
using counted_width_iterator_impl::counted_width_iterator;
2706
2707
template <typename View, typename = void>
2708
struct take_width_view_storage;
2709
2710
template <typename View>
2711
struct take_width_view_storage<View,
2712
                               std::enable_if_t<ranges::borrowed_range<View>>> {
2713
14.2k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::take_width_view_storage(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::take_width_view_storage(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
2713
7.72k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::take_width_view_storage(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::take_width_view_storage(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
2713
2.72k
    take_width_view_storage(const View& v) : view(v) {}
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > const&)
Line
Count
Source
2713
2.59k
    take_width_view_storage(const View& v) : view(v) {}
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&)
Line
Count
Source
2713
1.17k
    take_width_view_storage(const View& v) : view(v) {}
2714
2715
    const View& get() const
2716
196k
    {
2717
196k
        return view;
2718
196k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::get() const
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>::get() const
Line
Count
Source
2716
148k
    {
2717
148k
        return view;
2718
148k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::get() const
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::get() const
Line
Count
Source
2716
24.1k
    {
2717
24.1k
        return view;
2718
24.1k
    }
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::get() const
Line
Count
Source
2716
17.6k
    {
2717
17.6k
        return view;
2718
17.6k
    }
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::get() const
Line
Count
Source
2716
6.24k
    {
2717
6.24k
        return view;
2718
6.24k
    }
2719
2720
    View view;
2721
};
2722
2723
template <typename View>
2724
struct take_width_view_storage<
2725
    View,
2726
    std::enable_if_t<!ranges::borrowed_range<View>>> {
2727
    take_width_view_storage(const View& v) : view(&v) {}
2728
2729
    const View& get() const
2730
    {
2731
        return *view;
2732
    }
2733
2734
    const View* view;
2735
};
2736
2737
template <typename View>
2738
class take_width_view : public ranges::view_interface<take_width_view<View>> {
2739
    template <bool IsConst>
2740
    class sentinel {
2741
        friend class sentinel<!IsConst>;
2742
        using Base = std::conditional_t<IsConst, const View, View>;
2743
        using CWI = counted_width_iterator<ranges::iterator_t<Base>,
2744
                                           ranges::sentinel_t<Base>>;
2745
        using underlying = ranges::sentinel_t<Base>;
2746
2747
    public:
2748
        constexpr sentinel() = default;
2749
2750
130k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>::sentinel(char const*)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>::sentinel(char const*)
Line
Count
Source
2750
109k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>::sentinel(wchar_t const*)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>::sentinel(wchar_t const*)
Line
Count
Source
2750
9.66k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
2750
8.64k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
2750
2.56k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
2751
2752
        template <
2753
            typename S,
2754
            std::enable_if_t<std::is_same_v<S, sentinel<!IsConst>>>* = nullptr,
2755
            bool C = IsConst,
2756
            typename VV = View,
2757
            std::enable_if_t<C && std::is_convertible_v<ranges::sentinel_t<VV>,
2758
                                                        underlying>>* = nullptr>
2759
        constexpr explicit sentinel(S s) : m_end(SCN_MOVE(s.m_end))
2760
        {
2761
        }
2762
2763
        constexpr underlying base() const
2764
        {
2765
            return m_end;
2766
        }
2767
2768
        friend constexpr bool operator==(const CWI& y, const sentinel& x)
2769
209k
        {
2770
209k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
209k
                   y.base() == x.m_end;
2772
209k
        }
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2769
174k
        {
2770
174k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
174k
                   y.base() == x.m_end;
2772
174k
        }
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2769
22.7k
        {
2770
22.7k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
22.7k
                   y.base() == x.m_end;
2772
22.7k
        }
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2769
9.96k
        {
2770
9.96k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
9.96k
                   y.base() == x.m_end;
2772
9.96k
        }
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2769
2.56k
        {
2770
2.56k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
2.56k
                   y.base() == x.m_end;
2772
2.56k
        }
2773
2774
        friend constexpr bool operator==(const sentinel& x, const CWI& y)
2775
        {
2776
            return y == x;
2777
        }
2778
2779
        friend constexpr bool operator!=(const CWI& y, const sentinel& x)
2780
113k
        {
2781
113k
            return !(y == x);
2782
113k
        }
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2780
97.7k
        {
2781
97.7k
            return !(y == x);
2782
97.7k
        }
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2780
10.2k
        {
2781
10.2k
            return !(y == x);
2782
10.2k
        }
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2780
4.60k
        {
2781
4.60k
            return !(y == x);
2782
4.60k
        }
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2780
1.22k
        {
2781
1.22k
            return !(y == x);
2782
1.22k
        }
2783
2784
        friend constexpr bool operator!=(const sentinel& x, const CWI& y)
2785
        {
2786
            return !(y == x);
2787
        }
2788
2789
    private:
2790
        SCN_NO_UNIQUE_ADDRESS underlying m_end{};
2791
    };
2792
2793
public:
2794
    using value_type = ranges::range_value_t<View>;
2795
2796
    take_width_view() = default;
2797
2798
    constexpr take_width_view(const View& base, std::ptrdiff_t count)
2799
        : m_base(base), m_count(count)
2800
14.2k
    {
2801
14.2k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::take_width_view(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::take_width_view(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, long)
Line
Count
Source
2800
7.72k
    {
2801
7.72k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::take_width_view(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::take_width_view(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long)
Line
Count
Source
2800
2.72k
    {
2801
2.72k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long)
Line
Count
Source
2800
2.59k
    {
2801
2.59k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long)
Line
Count
Source
2800
1.17k
    {
2801
1.17k
    }
2802
2803
    constexpr View base() const
2804
    {
2805
        return m_base;
2806
    }
2807
2808
    constexpr auto begin() const
2809
32.7k
    {
2810
32.7k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
32.7k
                                      m_count};
2812
32.7k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::begin() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
2809
19.1k
    {
2810
19.1k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
19.1k
                                      m_count};
2812
19.1k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::begin() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
2809
7.26k
    {
2810
7.26k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
7.26k
                                      m_count};
2812
7.26k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::begin() const
Line
Count
Source
2809
4.48k
    {
2810
4.48k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
4.48k
                                      m_count};
2812
4.48k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::begin() const
Line
Count
Source
2809
1.84k
    {
2810
1.84k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
1.84k
                                      m_count};
2812
1.84k
    }
2813
2814
    constexpr auto end() const
2815
130k
    {
2816
130k
        return sentinel<true>{m_base.get().end()};
2817
130k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::end() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Line
Count
Source
2815
109k
    {
2816
109k
        return sentinel<true>{m_base.get().end()};
2817
109k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::end() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
2815
9.66k
    {
2816
9.66k
        return sentinel<true>{m_base.get().end()};
2817
9.66k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::end() const
Line
Count
Source
2815
8.64k
    {
2816
8.64k
        return sentinel<true>{m_base.get().end()};
2817
8.64k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::end() const
Line
Count
Source
2815
2.56k
    {
2816
2.56k
        return sentinel<true>{m_base.get().end()};
2817
2.56k
    }
2818
2819
private:
2820
    take_width_view_storage<View> m_base{};
2821
    std::ptrdiff_t m_count{0};
2822
};
2823
2824
template <typename R>
2825
take_width_view(R&&, std::ptrdiff_t) -> take_width_view<R>;
2826
2827
struct _take_width_fn {
2828
    template <typename R>
2829
    constexpr auto operator()(const R& r, std::ptrdiff_t n) const
2830
        -> decltype(take_width_view{r, n})
2831
14.2k
    {
2832
14.2k
        return take_width_view{r, n};
2833
14.2k
    }
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long) const
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, long) const
Line
Count
Source
2831
7.72k
    {
2832
7.72k
        return take_width_view{r, n};
2833
7.72k
    }
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long) const
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long) const
Line
Count
Source
2831
2.72k
    {
2832
2.72k
        return take_width_view{r, n};
2833
2.72k
    }
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long) const
Line
Count
Source
2831
2.59k
    {
2832
2.59k
        return take_width_view{r, n};
2833
2.59k
    }
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long) const
Line
Count
Source
2831
1.17k
    {
2832
1.17k
        return take_width_view{r, n};
2833
1.17k
    }
2834
};
2835
2836
inline constexpr _take_width_fn take_width{};
2837
}  // namespace impl
2838
2839
namespace ranges {
2840
template <typename R>
2841
inline constexpr bool enable_borrowed_range<::scn::impl::take_width_view<R>> =
2842
    enable_borrowed_range<R>;
2843
}
2844
2845
/////////////////////////////////////////////////////////////////
2846
// contiguous_scan_context
2847
/////////////////////////////////////////////////////////////////
2848
2849
namespace impl {
2850
template <typename CharT>
2851
class basic_contiguous_scan_context
2852
    : public detail::scan_context_base<
2853
          basic_scan_args<basic_scan_context<CharT>>> {
2854
    using base =
2855
        detail::scan_context_base<basic_scan_args<basic_scan_context<CharT>>>;
2856
2857
public:
2858
    using char_type = CharT;
2859
    using buffer_type = detail::basic_scan_buffer<char_type>;
2860
    using range_type = ranges::subrange<const char_type*, const char_type*>;
2861
    using iterator = const char_type*;
2862
    using sentinel = const char_type*;
2863
    using parse_context_type = basic_scan_parse_context<char_type>;
2864
2865
    using parent_context_type = basic_scan_context<char_type>;
2866
    using args_type = basic_scan_args<parent_context_type>;
2867
    using arg_type = basic_scan_arg<parent_context_type>;
2868
2869
    template <typename Range,
2870
              std::enable_if_t<ranges::contiguous_range<Range> &&
2871
                               ranges::borrowed_range<Range>>* = nullptr>
2872
    constexpr basic_contiguous_scan_context(Range&& r,
2873
                                            args_type a,
2874
                                            detail::locale_ref loc = {})
2875
        : base(SCN_MOVE(a), loc),
2876
          m_range(SCN_FWD(r)),
2877
          m_current(m_range.begin())
2878
24.6M
    {
2879
24.6M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::basic_contiguous_scan_context<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
2878
3.81M
    {
2879
3.81M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::basic_contiguous_scan_context<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
2878
20.8M
    {
2879
20.8M
    }
2880
2881
    constexpr iterator begin() const
2882
72.8M
    {
2883
72.8M
        return m_current;
2884
72.8M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::begin() const
Line
Count
Source
2882
11.0M
    {
2883
11.0M
        return m_current;
2884
11.0M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::begin() const
Line
Count
Source
2882
61.8M
    {
2883
61.8M
        return m_current;
2884
61.8M
    }
2885
2886
    constexpr sentinel end() const
2887
48.6M
    {
2888
48.6M
        return m_range.end();
2889
48.6M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::end() const
Line
Count
Source
2887
7.28M
    {
2888
7.28M
        return m_range.end();
2889
7.28M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::end() const
Line
Count
Source
2887
41.4M
    {
2888
41.4M
        return m_range.end();
2889
41.4M
    }
2890
2891
    constexpr auto range() const
2892
24.2M
    {
2893
24.2M
        return ranges::subrange{begin(), end()};
2894
24.2M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::range() const
Line
Count
Source
2892
3.71M
    {
2893
3.71M
        return ranges::subrange{begin(), end()};
2894
3.71M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::range() const
Line
Count
Source
2892
20.5M
    {
2893
20.5M
        return ranges::subrange{begin(), end()};
2894
20.5M
    }
2895
2896
    constexpr auto underlying_range() const
2897
0
    {
2898
0
        return m_range;
2899
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::underlying_range() const
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::underlying_range() const
2900
2901
    void advance_to(iterator it)
2902
23.9M
    {
2903
23.9M
        SCN_EXPECT(it <= end());
2904
23.9M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
23.9M
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
23.9M
        }
2909
23.9M
        m_current = SCN_MOVE(it);
2910
23.9M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::advance_to(char const*)
Line
Count
Source
2902
3.48M
    {
2903
3.48M
        SCN_EXPECT(it <= end());
2904
3.48M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
3.48M
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
3.48M
        }
2909
3.48M
        m_current = SCN_MOVE(it);
2910
3.48M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
2902
20.4M
    {
2903
20.4M
        SCN_EXPECT(it <= end());
2904
20.4M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
20.4M
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
20.4M
        }
2909
20.4M
        m_current = SCN_MOVE(it);
2910
20.4M
    }
2911
2912
    void advance_to(const typename parent_context_type::iterator& it)
2913
0
    {
2914
0
        SCN_EXPECT(it.position() <= m_range.size());
2915
0
        m_current = m_range.begin() + it.position();
2916
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::advance_to(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::advance_to(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
2917
2918
    std::ptrdiff_t begin_position()
2919
0
    {
2920
0
        return ranges::distance(m_range.begin(), begin());
2921
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::begin_position()
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::begin_position()
2922
2923
private:
2924
    range_type m_range;
2925
    iterator m_current;
2926
};
2927
2928
struct reader_error_handler {
2929
    constexpr void on_error(const char* msg)
2930
52.2k
    {
2931
52.2k
        SCN_UNLIKELY_ATTR
2932
52.2k
        m_msg = msg;
2933
52.2k
    }
2934
    explicit constexpr operator bool() const
2935
38.4M
    {
2936
38.4M
        return m_msg == nullptr;
2937
38.4M
    }
2938
2939
    const char* m_msg{nullptr};
2940
};
2941
2942
/////////////////////////////////////////////////////////////////
2943
// General reading support
2944
/////////////////////////////////////////////////////////////////
2945
2946
template <typename SourceRange>
2947
auto skip_classic_whitespace(const SourceRange& range,
2948
                             bool allow_exhaustion = false)
2949
    -> eof_expected<ranges::const_iterator_t<SourceRange>>
2950
86.3M
{
2951
86.3M
    if (!allow_exhaustion) {
2952
86.3M
        auto it = read_while_classic_space(range);
2953
86.3M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
86.3M
            SCN_UNLIKELY(!e)) {
2955
107k
            return unexpected(e);
2956
107k
        }
2957
2958
86.2M
        return it;
2959
86.3M
    }
2960
2961
994
    return read_while_classic_space(range);
2962
86.3M
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
2950
396
{
2951
396
    if (!allow_exhaustion) {
2952
0
        auto it = read_while_classic_space(range);
2953
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
0
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
0
        return it;
2959
0
    }
2960
2961
396
    return read_while_classic_space(range);
2962
396
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
2950
5.12M
{
2951
5.12M
    if (!allow_exhaustion) {
2952
5.12M
        auto it = read_while_classic_space(range);
2953
5.12M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
5.12M
            SCN_UNLIKELY(!e)) {
2955
43.2k
            return unexpected(e);
2956
43.2k
        }
2957
2958
5.08M
        return it;
2959
5.12M
    }
2960
2961
166
    return read_while_classic_space(range);
2962
5.12M
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
5.00M
{
2951
5.00M
    if (!allow_exhaustion) {
2952
5.00M
        auto it = read_while_classic_space(range);
2953
5.00M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
5.00M
            SCN_UNLIKELY(!e)) {
2955
46.1k
            return unexpected(e);
2956
46.1k
        }
2957
2958
4.95M
        return it;
2959
5.00M
    }
2960
2961
0
    return read_while_classic_space(range);
2962
5.00M
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
2950
70
{
2951
70
    if (!allow_exhaustion) {
2952
0
        auto it = read_while_classic_space(range);
2953
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
0
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
0
        return it;
2959
0
    }
2960
2961
70
    return read_while_classic_space(range);
2962
70
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
2950
50.5M
{
2951
50.5M
    if (!allow_exhaustion) {
2952
50.5M
        auto it = read_while_classic_space(range);
2953
50.5M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
50.5M
            SCN_UNLIKELY(!e)) {
2955
10.9k
            return unexpected(e);
2956
10.9k
        }
2957
2958
50.5M
        return it;
2959
50.5M
    }
2960
2961
362
    return read_while_classic_space(range);
2962
50.5M
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
25.6M
{
2951
25.6M
    if (!allow_exhaustion) {
2952
25.6M
        auto it = read_while_classic_space(range);
2953
25.6M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
25.6M
            SCN_UNLIKELY(!e)) {
2955
7.60k
            return unexpected(e);
2956
7.60k
        }
2957
2958
25.6M
        return it;
2959
25.6M
    }
2960
2961
0
    return read_while_classic_space(range);
2962
25.6M
}
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
1.88k
{
2951
1.88k
    if (!allow_exhaustion) {
2952
1.88k
        auto it = read_while_classic_space(range);
2953
1.88k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
1.88k
            SCN_UNLIKELY(!e)) {
2955
114
            return unexpected(e);
2956
114
        }
2957
2958
1.77k
        return it;
2959
1.88k
    }
2960
2961
0
    return read_while_classic_space(range);
2962
1.88k
}
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
668
{
2951
668
    if (!allow_exhaustion) {
2952
668
        auto it = read_while_classic_space(range);
2953
668
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
668
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
668
        return it;
2959
668
    }
2960
2961
0
    return read_while_classic_space(range);
2962
668
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
2963
2964
template <typename SourceCharT, typename DestCharT>
2965
scan_error transcode_impl(std::basic_string_view<SourceCharT> src,
2966
                          std::basic_string<DestCharT>& dst)
2967
2.73k
{
2968
2.73k
    dst.clear();
2969
2.73k
    transcode_valid_to_string(src, dst);
2970
2.73k
    return {};
2971
2.73k
}
scn::v3::scan_error scn::v3::impl::transcode_impl<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2967
2.01k
{
2968
2.01k
    dst.clear();
2969
2.01k
    transcode_valid_to_string(src, dst);
2970
2.01k
    return {};
2971
2.01k
}
scn::v3::scan_error scn::v3::impl::transcode_impl<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2967
714
{
2968
714
    dst.clear();
2969
714
    transcode_valid_to_string(src, dst);
2970
714
    return {};
2971
714
}
2972
2973
template <typename SourceCharT, typename DestCharT>
2974
scan_error transcode_if_necessary(
2975
    const contiguous_range_factory<SourceCharT>& source,
2976
    std::basic_string<DestCharT>& dest)
2977
{
2978
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2979
        dest.assign(source.view());
2980
    }
2981
    else {
2982
        return transcode_impl(source.view(), dest);
2983
    }
2984
2985
    return {};
2986
}
2987
2988
template <typename SourceCharT, typename DestCharT>
2989
scan_error transcode_if_necessary(
2990
    contiguous_range_factory<SourceCharT>&& source,
2991
    std::basic_string<DestCharT>& dest)
2992
25.1M
{
2993
25.1M
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
25.0M
        if (source.stores_allocated_string()) {
2995
7.69k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
7.69k
        }
2997
25.0M
        else {
2998
25.0M
            dest.assign(source.view());
2999
25.0M
        }
3000
25.0M
    }
3001
404
    else {
3002
404
        return transcode_impl(source.view(), dest);
3003
404
    }
3004
3005
0
    return {};
3006
25.1M
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, char>(scn::v3::impl::contiguous_range_factory<char>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2992
167k
{
2993
167k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
167k
        if (source.stores_allocated_string()) {
2995
3.57k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
3.57k
        }
2997
164k
        else {
2998
164k
            dest.assign(source.view());
2999
164k
        }
3000
167k
    }
3001
167k
    else {
3002
167k
        return transcode_impl(source.view(), dest);
3003
167k
    }
3004
3005
167k
    return {};
3006
167k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, wchar_t>(scn::v3::impl::contiguous_range_factory<char>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2992
320
{
2993
320
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
320
        if (source.stores_allocated_string()) {
2995
320
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
320
        }
2997
320
        else {
2998
320
            dest.assign(source.view());
2999
320
        }
3000
320
    }
3001
320
    else {
3002
320
        return transcode_impl(source.view(), dest);
3003
320
    }
3004
3005
0
    return {};
3006
320
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, char>(scn::v3::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2992
84
{
2993
84
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
84
        if (source.stores_allocated_string()) {
2995
84
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
84
        }
2997
84
        else {
2998
84
            dest.assign(source.view());
2999
84
        }
3000
84
    }
3001
84
    else {
3002
84
        return transcode_impl(source.view(), dest);
3003
84
    }
3004
3005
0
    return {};
3006
84
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v3::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2992
24.9M
{
2993
24.9M
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
24.9M
        if (source.stores_allocated_string()) {
2995
4.12k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
4.12k
        }
2997
24.9M
        else {
2998
24.9M
            dest.assign(source.view());
2999
24.9M
        }
3000
24.9M
    }
3001
24.9M
    else {
3002
24.9M
        return transcode_impl(source.view(), dest);
3003
24.9M
    }
3004
3005
24.9M
    return {};
3006
24.9M
}
3007
3008
template <typename SourceCharT, typename DestCharT>
3009
scan_error transcode_if_necessary(string_view_wrapper<SourceCharT> source,
3010
                                  std::basic_string<DestCharT>& dest)
3011
25.1M
{
3012
25.1M
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
2.32k
        dest.assign(source.view());
3014
2.32k
    }
3015
2.32k
    else {
3016
2.32k
        return transcode_impl(source.view(), dest);
3017
2.32k
    }
3018
3019
0
    return {};
3020
25.1M
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, char>(scn::v3::impl::string_view_wrapper<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3011
165k
{
3012
165k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
165k
        dest.assign(source.view());
3014
165k
    }
3015
165k
    else {
3016
165k
        return transcode_impl(source.view(), dest);
3017
165k
    }
3018
3019
165k
    return {};
3020
165k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, wchar_t>(scn::v3::impl::string_view_wrapper<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3011
1.69k
{
3012
1.69k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
1.69k
        dest.assign(source.view());
3014
1.69k
    }
3015
1.69k
    else {
3016
1.69k
        return transcode_impl(source.view(), dest);
3017
1.69k
    }
3018
3019
0
    return {};
3020
1.69k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, char>(scn::v3::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3011
630
{
3012
630
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
630
        dest.assign(source.view());
3014
630
    }
3015
630
    else {
3016
630
        return transcode_impl(source.view(), dest);
3017
630
    }
3018
3019
0
    return {};
3020
630
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v3::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3011
24.9M
{
3012
24.9M
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
24.9M
        dest.assign(source.view());
3014
24.9M
    }
3015
24.9M
    else {
3016
24.9M
        return transcode_impl(source.view(), dest);
3017
24.9M
    }
3018
3019
24.9M
    return {};
3020
24.9M
}
3021
3022
/////////////////////////////////////////////////////////////////
3023
// Reader base classes etc.
3024
/////////////////////////////////////////////////////////////////
3025
3026
template <typename Derived, typename CharT>
3027
class reader_base {
3028
public:
3029
    using char_type = CharT;
3030
3031
    constexpr reader_base() = default;
3032
3033
    bool skip_ws_before_read() const
3034
17.7M
    {
3035
17.7M
        return true;
3036
17.7M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
7.45M
    {
3035
7.45M
        return true;
3036
7.45M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
8.76M
    {
3035
8.76M
        return true;
3036
8.76M
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::skip_ws_before_read() const
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
714k
    {
3035
714k
        return true;
3036
714k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
848k
    {
3035
848k
        return true;
3036
848k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::skip_ws_before_read() const
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
1.36k
    {
3035
1.36k
        return true;
3036
1.36k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
1.06k
    {
3035
1.06k
        return true;
3036
1.06k
    }
3037
3038
    scan_error check_specs(const detail::format_specs& specs)
3039
38.4M
    {
3040
38.4M
        reader_error_handler eh{};
3041
38.4M
        get_derived().check_specs_impl(specs, eh);
3042
38.4M
        if (SCN_UNLIKELY(!eh)) {
3043
40.0k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
40.0k
        }
3045
38.4M
        return {};
3046
38.4M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
3.40M
    {
3040
3.40M
        reader_error_handler eh{};
3041
3.40M
        get_derived().check_specs_impl(specs, eh);
3042
3.40M
        if (SCN_UNLIKELY(!eh)) {
3043
9.22k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
9.22k
        }
3045
3.39M
        return {};
3046
3.40M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
3.74M
    {
3040
3.74M
        reader_error_handler eh{};
3041
3.74M
        get_derived().check_specs_impl(specs, eh);
3042
3.74M
        if (SCN_UNLIKELY(!eh)) {
3043
4.60k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
4.60k
        }
3045
3.73M
        return {};
3046
3.74M
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
230k
    {
3040
230k
        reader_error_handler eh{};
3041
230k
        get_derived().check_specs_impl(specs, eh);
3042
230k
        if (SCN_UNLIKELY(!eh)) {
3043
5.53k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
5.53k
        }
3045
224k
        return {};
3046
230k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::check_specs(scn::v3::detail::format_specs const&)
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
570k
    {
3040
570k
        reader_error_handler eh{};
3041
570k
        get_derived().check_specs_impl(specs, eh);
3042
570k
        if (SCN_UNLIKELY(!eh)) {
3043
2.92k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
2.92k
        }
3045
567k
        return {};
3046
570k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
545k
    {
3040
545k
        reader_error_handler eh{};
3041
545k
        get_derived().check_specs_impl(specs, eh);
3042
545k
        if (SCN_UNLIKELY(!eh)) {
3043
1.46k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
1.46k
        }
3045
544k
        return {};
3046
545k
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
29.9M
    {
3040
29.9M
        reader_error_handler eh{};
3041
29.9M
        get_derived().check_specs_impl(specs, eh);
3042
29.9M
        if (SCN_UNLIKELY(!eh)) {
3043
10.5k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
10.5k
        }
3045
29.9M
        return {};
3046
29.9M
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
5.14k
    {
3040
5.14k
        reader_error_handler eh{};
3041
5.14k
        get_derived().check_specs_impl(specs, eh);
3042
5.14k
        if (SCN_UNLIKELY(!eh)) {
3043
4.42k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
4.42k
        }
3045
716
        return {};
3046
5.14k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
1.93k
    {
3040
1.93k
        reader_error_handler eh{};
3041
1.93k
        get_derived().check_specs_impl(specs, eh);
3042
1.93k
        if (SCN_UNLIKELY(!eh)) {
3043
1.36k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
1.36k
        }
3045
570
        return {};
3046
1.93k
    }
3047
3048
private:
3049
    Derived& get_derived()
3050
38.4M
    {
3051
38.4M
        return static_cast<Derived&>(*this);
3052
38.4M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::get_derived()
Line
Count
Source
3050
3.40M
    {
3051
3.40M
        return static_cast<Derived&>(*this);
3052
3.40M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::get_derived()
Line
Count
Source
3050
3.74M
    {
3051
3.74M
        return static_cast<Derived&>(*this);
3052
3.74M
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<char>, char>::get_derived()
Line
Count
Source
3050
230k
    {
3051
230k
        return static_cast<Derived&>(*this);
3052
230k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::get_derived()
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
570k
    {
3051
570k
        return static_cast<Derived&>(*this);
3052
570k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
545k
    {
3051
545k
        return static_cast<Derived&>(*this);
3052
545k
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
29.9M
    {
3051
29.9M
        return static_cast<Derived&>(*this);
3052
29.9M
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::get_derived()
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::get_derived()
Line
Count
Source
3050
5.14k
    {
3051
5.14k
        return static_cast<Derived&>(*this);
3052
5.14k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
1.93k
    {
3051
1.93k
        return static_cast<Derived&>(*this);
3052
1.93k
    }
3053
    const Derived& get_derived() const
3054
    {
3055
        return static_cast<const Derived&>(*this);
3056
    }
3057
};
3058
3059
template <typename CharT>
3060
class reader_impl_for_monostate {
3061
public:
3062
    constexpr reader_impl_for_monostate() = default;
3063
3064
    bool skip_ws_before_read() const
3065
0
    {
3066
0
        return true;
3067
0
    }
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<char>::skip_ws_before_read() const
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<wchar_t>::skip_ws_before_read() const
3068
3069
    static scan_error check_specs(const detail::format_specs&)
3070
0
    {
3071
0
        SCN_EXPECT(false);
3072
0
        SCN_UNREACHABLE;
3073
0
    }
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<char>::check_specs(scn::v3::detail::format_specs const&)
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
3074
3075
    template <typename Range>
3076
    auto read_default(Range, monostate&, detail::locale_ref)
3077
        -> scan_expected<ranges::const_iterator_t<Range>>
3078
0
    {
3079
0
        SCN_EXPECT(false);
3080
0
        SCN_UNREACHABLE;
3081
0
    }
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
3082
3083
    template <typename Range>
3084
    auto read_specs(Range,
3085
                    const detail::format_specs&,
3086
                    monostate&,
3087
                    detail::locale_ref)
3088
        -> scan_expected<ranges::const_iterator_t<Range>>
3089
0
    {
3090
0
        SCN_EXPECT(false);
3091
0
        SCN_UNREACHABLE;
3092
0
    }
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
3093
};
3094
3095
/////////////////////////////////////////////////////////////////
3096
// Numeric reader support
3097
/////////////////////////////////////////////////////////////////
3098
3099
enum class sign_type { default_sign = -1, minus_sign = 0, plus_sign = 1 };
3100
3101
inline constexpr std::array<uint8_t, 256> char_to_int_table = {
3102
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3103
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3104
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3105
    255, 255, 255, 0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   255, 255,
3106
    255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
3107
    20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,
3108
    35,  255, 255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,
3109
    18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,
3110
    33,  34,  35,  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3111
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3112
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3113
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3114
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3115
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3116
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3117
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3118
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3119
    255};
3120
3121
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(char ch)
3122
70.2M
{
3123
70.2M
    return char_to_int_table[static_cast<unsigned char>(ch)];
3124
70.2M
}
3125
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(wchar_t ch)
3126
2.61M
{
3127
2.61M
#if WCHAR_MIN < 0
3128
2.61M
    if (ch >= 0 && ch <= 255) {
3129
#else
3130
    if (ch <= 255) {
3131
#endif
3132
1.45M
        return char_to_int(static_cast<char>(ch));
3133
1.45M
    }
3134
1.16M
    return 255;
3135
2.61M
}
3136
3137
template <typename Range>
3138
auto parse_numeric_sign(Range range)
3139
    -> eof_expected<std::pair<ranges::const_iterator_t<Range>, sign_type>>
3140
11.3M
{
3141
11.3M
    auto r = read_one_of_code_unit(range, "+-");
3142
11.3M
    if (!r) {
3143
9.40M
        if (r.error() == parse_error::error) {
3144
9.40M
            return std::pair{range.begin(), sign_type::default_sign};
3145
9.40M
        }
3146
713
        return unexpected(eof_error::eof);
3147
9.40M
    }
3148
3149
1.89M
    auto& it = *r;
3150
1.89M
    if (*range.begin() == '-') {
3151
873k
        return std::pair{it, sign_type::minus_sign};
3152
873k
    }
3153
1.02M
    return std::pair{it, sign_type::plus_sign};
3154
1.89M
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
Line
Count
Source
3140
5.04M
{
3141
5.04M
    auto r = read_one_of_code_unit(range, "+-");
3142
5.04M
    if (!r) {
3143
4.07M
        if (r.error() == parse_error::error) {
3144
4.07M
            return std::pair{range.begin(), sign_type::default_sign};
3145
4.07M
        }
3146
512
        return unexpected(eof_error::eof);
3147
4.07M
    }
3148
3149
964k
    auto& it = *r;
3150
964k
    if (*range.begin() == '-') {
3151
440k
        return std::pair{it, sign_type::minus_sign};
3152
440k
    }
3153
523k
    return std::pair{it, sign_type::plus_sign};
3154
964k
}
_ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3140
1.08k
{
3141
1.08k
    auto r = read_one_of_code_unit(range, "+-");
3142
1.08k
    if (!r) {
3143
1.08k
        if (r.error() == parse_error::error) {
3144
1.08k
            return std::pair{range.begin(), sign_type::default_sign};
3145
1.08k
        }
3146
0
        return unexpected(eof_error::eof);
3147
1.08k
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3140
4.83M
{
3141
4.83M
    auto r = read_one_of_code_unit(range, "+-");
3142
4.83M
    if (!r) {
3143
3.90M
        if (r.error() == parse_error::error) {
3144
3.90M
            return std::pair{range.begin(), sign_type::default_sign};
3145
3.90M
        }
3146
162
        return unexpected(eof_error::eof);
3147
3.90M
    }
3148
3149
926k
    auto& it = *r;
3150
926k
    if (*range.begin() == '-') {
3151
427k
        return std::pair{it, sign_type::minus_sign};
3152
427k
    }
3153
499k
    return std::pair{it, sign_type::plus_sign};
3154
926k
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
Line
Count
Source
3140
711k
{
3141
711k
    auto r = read_one_of_code_unit(range, "+-");
3142
711k
    if (!r) {
3143
708k
        if (r.error() == parse_error::error) {
3144
708k
            return std::pair{range.begin(), sign_type::default_sign};
3145
708k
        }
3146
27
        return unexpected(eof_error::eof);
3147
708k
    }
3148
3149
2.84k
    auto& it = *r;
3150
2.84k
    if (*range.begin() == '-') {
3151
2.56k
        return std::pair{it, sign_type::minus_sign};
3152
2.56k
    }
3153
289
    return std::pair{it, sign_type::plus_sign};
3154
2.84k
}
_ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3140
488
{
3141
488
    auto r = read_one_of_code_unit(range, "+-");
3142
488
    if (!r) {
3143
488
        if (r.error() == parse_error::error) {
3144
488
            return std::pair{range.begin(), sign_type::default_sign};
3145
488
        }
3146
0
        return unexpected(eof_error::eof);
3147
488
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3140
712k
{
3141
712k
    auto r = read_one_of_code_unit(range, "+-");
3142
712k
    if (!r) {
3143
709k
        if (r.error() == parse_error::error) {
3144
709k
            return std::pair{range.begin(), sign_type::default_sign};
3145
709k
        }
3146
12
        return unexpected(eof_error::eof);
3147
709k
    }
3148
3149
2.68k
    auto& it = *r;
3150
2.68k
    if (*range.begin() == '-') {
3151
2.41k
        return std::pair{it, sign_type::minus_sign};
3152
2.41k
    }
3153
274
    return std::pair{it, sign_type::plus_sign};
3154
2.68k
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
3155
3156
inline void transform_thsep_indices(std::string& indices,
3157
                                    std::ptrdiff_t last_thsep_index)
3158
9.11k
{
3159
141k
    for (auto thsep_it = indices.rbegin(); thsep_it != indices.rend();
3160
132k
         ++thsep_it) {
3161
132k
        const auto tmp = *thsep_it;
3162
132k
        *thsep_it = static_cast<char>(last_thsep_index - tmp - 1);
3163
132k
        last_thsep_index = static_cast<std::ptrdiff_t>(tmp);
3164
132k
    }
3165
9.11k
    indices.insert(indices.begin(), static_cast<char>(last_thsep_index));
3166
9.11k
}
3167
3168
template <typename Range>
3169
bool check_thsep_grouping_impl(Range range,
3170
                               std::string& thsep_indices,
3171
                               std::string_view grouping)
3172
9.11k
{
3173
9.11k
    transform_thsep_indices(thsep_indices,
3174
9.11k
                            ranges::distance(range.begin(), range.end()));
3175
3176
9.11k
    auto thsep_it = thsep_indices.rbegin();
3177
9.11k
    for (auto grouping_it = grouping.begin();
3178
9.11k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
9.11k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
9.11k
    SCN_CLANG_PUSH
3186
    // false positive
3187
9.11k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
109k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
102k
        if (*thsep_it != grouping.back()) {
3191
2.13k
            return false;
3192
2.13k
        }
3193
102k
    }
3194
3195
6.98k
    if (thsep_it == thsep_indices.rend() - 1) {
3196
6.98k
        if (*thsep_it > grouping.back()) {
3197
2.35k
            return false;
3198
2.35k
        }
3199
6.98k
    }
3200
3201
4.62k
    SCN_CLANG_POP
3202
3203
4.62k
    return true;
3204
6.98k
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
4.44k
{
3173
4.44k
    transform_thsep_indices(thsep_indices,
3174
4.44k
                            ranges::distance(range.begin(), range.end()));
3175
3176
4.44k
    auto thsep_it = thsep_indices.rbegin();
3177
4.44k
    for (auto grouping_it = grouping.begin();
3178
4.44k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
4.44k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
4.44k
    SCN_CLANG_PUSH
3186
    // false positive
3187
4.44k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
54.2k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
50.8k
        if (*thsep_it != grouping.back()) {
3191
1.04k
            return false;
3192
1.04k
        }
3193
50.8k
    }
3194
3195
3.40k
    if (thsep_it == thsep_indices.rend() - 1) {
3196
3.40k
        if (*thsep_it > grouping.back()) {
3197
1.08k
            return false;
3198
1.08k
        }
3199
3.40k
    }
3200
3201
2.31k
    SCN_CLANG_POP
3202
3203
2.31k
    return true;
3204
3.40k
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
4.42k
{
3173
4.42k
    transform_thsep_indices(thsep_indices,
3174
4.42k
                            ranges::distance(range.begin(), range.end()));
3175
3176
4.42k
    auto thsep_it = thsep_indices.rbegin();
3177
4.42k
    for (auto grouping_it = grouping.begin();
3178
4.42k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
4.42k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
4.42k
    SCN_CLANG_PUSH
3186
    // false positive
3187
4.42k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
53.9k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
50.6k
        if (*thsep_it != grouping.back()) {
3191
1.03k
            return false;
3192
1.03k
        }
3193
50.6k
    }
3194
3195
3.38k
    if (thsep_it == thsep_indices.rend() - 1) {
3196
3.38k
        if (*thsep_it > grouping.back()) {
3197
1.07k
            return false;
3198
1.07k
        }
3199
3.38k
    }
3200
3201
2.31k
    SCN_CLANG_POP
3202
3203
2.31k
    return true;
3204
3.38k
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
126
{
3173
126
    transform_thsep_indices(thsep_indices,
3174
126
                            ranges::distance(range.begin(), range.end()));
3175
3176
126
    auto thsep_it = thsep_indices.rbegin();
3177
126
    for (auto grouping_it = grouping.begin();
3178
126
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
126
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
126
    SCN_CLANG_PUSH
3186
    // false positive
3187
126
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
648
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
552
        if (*thsep_it != grouping.back()) {
3191
30
            return false;
3192
30
        }
3193
552
    }
3194
3195
96
    if (thsep_it == thsep_indices.rend() - 1) {
3196
96
        if (*thsep_it > grouping.back()) {
3197
96
            return false;
3198
96
        }
3199
96
    }
3200
3201
0
    SCN_CLANG_POP
3202
3203
0
    return true;
3204
96
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
126
{
3173
126
    transform_thsep_indices(thsep_indices,
3174
126
                            ranges::distance(range.begin(), range.end()));
3175
3176
126
    auto thsep_it = thsep_indices.rbegin();
3177
126
    for (auto grouping_it = grouping.begin();
3178
126
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
126
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
126
    SCN_CLANG_PUSH
3186
    // false positive
3187
126
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
648
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
552
        if (*thsep_it != grouping.back()) {
3191
30
            return false;
3192
30
        }
3193
552
    }
3194
3195
96
    if (thsep_it == thsep_indices.rend() - 1) {
3196
96
        if (*thsep_it > grouping.back()) {
3197
96
            return false;
3198
96
        }
3199
96
    }
3200
3201
0
    SCN_CLANG_POP
3202
3203
0
    return true;
3204
96
}
3205
3206
template <typename Range>
3207
scan_error check_thsep_grouping(Range range,
3208
                                std::string thsep_indices,
3209
                                std::string_view grouping)
3210
9.11k
{
3211
9.11k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
9.11k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
4.49k
        SCN_UNLIKELY_ATTR
3215
4.49k
        return {scan_error::invalid_scanned_value,
3216
4.49k
                "Invalid thousands separator grouping"};
3217
4.49k
    }
3218
3219
4.62k
    return {};
3220
9.11k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
4.44k
{
3211
4.44k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
4.44k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
2.13k
        SCN_UNLIKELY_ATTR
3215
2.13k
        return {scan_error::invalid_scanned_value,
3216
2.13k
                "Invalid thousands separator grouping"};
3217
2.13k
    }
3218
3219
2.31k
    return {};
3220
4.44k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
4.42k
{
3211
4.42k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
4.42k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
2.11k
        SCN_UNLIKELY_ATTR
3215
2.11k
        return {scan_error::invalid_scanned_value,
3216
2.11k
                "Invalid thousands separator grouping"};
3217
2.11k
    }
3218
3219
2.31k
    return {};
3220
4.42k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
126
{
3211
126
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
126
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
126
        SCN_UNLIKELY_ATTR
3215
126
        return {scan_error::invalid_scanned_value,
3216
126
                "Invalid thousands separator grouping"};
3217
126
    }
3218
3219
0
    return {};
3220
126
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
126
{
3211
126
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
126
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
126
        SCN_UNLIKELY_ATTR
3215
126
        return {scan_error::invalid_scanned_value,
3216
126
                "Invalid thousands separator grouping"};
3217
126
    }
3218
3219
0
    return {};
3220
126
}
3221
3222
template <typename CharT>
3223
class numeric_reader {
3224
public:
3225
    contiguous_range_factory<CharT> m_buffer{};
3226
};
3227
3228
/////////////////////////////////////////////////////////////////
3229
// Integer reader
3230
/////////////////////////////////////////////////////////////////
3231
3232
template <typename Iterator>
3233
struct parse_integer_prefix_result {
3234
    SCN_NO_UNIQUE_ADDRESS Iterator iterator;
3235
    int parsed_base{0};
3236
    sign_type sign{sign_type::default_sign};
3237
    bool is_zero{false};
3238
};
3239
3240
template <typename Range>
3241
auto parse_integer_bin_base_prefix(Range range)
3242
    -> parse_expected<ranges::const_iterator_t<Range>>
3243
1.24M
{
3244
1.24M
    return read_matching_string_classic_nocase(range, "0b");
3245
1.24M
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3243
528k
{
3244
528k
    return read_matching_string_classic_nocase(range, "0b");
3245
528k
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3243
34
{
3244
34
    return read_matching_string_classic_nocase(range, "0b");
3245
34
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3243
525k
{
3244
525k
    return read_matching_string_classic_nocase(range, "0b");
3245
525k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3243
93.7k
{
3244
93.7k
    return read_matching_string_classic_nocase(range, "0b");
3245
93.7k
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3243
18
{
3244
18
    return read_matching_string_classic_nocase(range, "0b");
3245
18
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3243
93.7k
{
3244
93.7k
    return read_matching_string_classic_nocase(range, "0b");
3245
93.7k
}
3246
3247
template <typename Range>
3248
auto parse_integer_hex_base_prefix(Range range)
3249
    -> parse_expected<ranges::const_iterator_t<Range>>
3250
1.86M
{
3251
1.86M
    return read_matching_string_classic_nocase(range, "0x");
3252
1.86M
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3250
840k
{
3251
840k
    return read_matching_string_classic_nocase(range, "0x");
3252
840k
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3250
276
{
3251
276
    return read_matching_string_classic_nocase(range, "0x");
3252
276
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3250
836k
{
3251
836k
    return read_matching_string_classic_nocase(range, "0x");
3252
836k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3250
93.9k
{
3251
93.9k
    return read_matching_string_classic_nocase(range, "0x");
3252
93.9k
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3250
124
{
3251
124
    return read_matching_string_classic_nocase(range, "0x");
3252
124
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3250
94.7k
{
3251
94.7k
    return read_matching_string_classic_nocase(range, "0x");
3252
94.7k
}
3253
3254
template <typename Range>
3255
auto parse_integer_oct_base_prefix(Range range, bool& zero_parsed)
3256
    -> parse_expected<ranges::const_iterator_t<Range>>
3257
1.36M
{
3258
1.36M
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
12.7k
        return *r;
3260
12.7k
    }
3261
3262
1.35M
    if (auto r = read_matching_code_unit(range, '0')) {
3263
543k
        zero_parsed = true;
3264
543k
        return *r;
3265
543k
    }
3266
3267
807k
    return unexpected(parse_error::error);
3268
1.35M
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
3257
589k
{
3258
589k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
6.36k
        return *r;
3260
6.36k
    }
3261
3262
582k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
272k
        zero_parsed = true;
3264
272k
        return *r;
3265
272k
    }
3266
3267
310k
    return unexpected(parse_error::error);
3268
582k
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3257
34
{
3258
34
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
34
    if (auto r = read_matching_code_unit(range, '0')) {
3263
0
        zero_parsed = true;
3264
0
        return *r;
3265
0
    }
3266
3267
34
    return unexpected(parse_error::error);
3268
34
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3257
586k
{
3258
586k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
6.36k
        return *r;
3260
6.36k
    }
3261
3262
580k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
270k
        zero_parsed = true;
3264
270k
        return *r;
3265
270k
    }
3266
3267
309k
    return unexpected(parse_error::error);
3268
580k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
3257
93.8k
{
3258
93.8k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
93.8k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
356
        zero_parsed = true;
3264
356
        return *r;
3265
356
    }
3266
3267
93.4k
    return unexpected(parse_error::error);
3268
93.8k
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3257
18
{
3258
18
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
18
    if (auto r = read_matching_code_unit(range, '0')) {
3263
0
        zero_parsed = true;
3264
0
        return *r;
3265
0
    }
3266
3267
18
    return unexpected(parse_error::error);
3268
18
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3257
93.8k
{
3258
93.8k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
93.8k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
356
        zero_parsed = true;
3264
356
        return *r;
3265
356
    }
3266
3267
93.4k
    return unexpected(parse_error::error);
3268
93.8k
}
3269
3270
template <typename Range>
3271
auto parse_integer_base_prefix_for_detection(Range range)
3272
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3273
1.02M
{
3274
1.02M
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
9.80k
        return {*r, 16, false};
3276
9.80k
    }
3277
1.01M
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
4.74k
        return {*r, 2, false};
3279
4.74k
    }
3280
1.01M
    {
3281
1.01M
        bool zero_parsed{false};
3282
1.01M
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
436k
            return {*r, 8, zero_parsed};
3284
436k
        }
3285
1.01M
    }
3286
577k
    return {range.begin(), 10, false};
3287
1.01M
}
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
Line
Count
Source
3273
468k
{
3274
468k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
4.98k
        return {*r, 16, false};
3276
4.98k
    }
3277
463k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
2.37k
        return {*r, 2, false};
3279
2.37k
    }
3280
461k
    {
3281
461k
        bool zero_parsed{false};
3282
461k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
219k
            return {*r, 8, zero_parsed};
3284
219k
        }
3285
461k
    }
3286
242k
    return {range.begin(), 10, false};
3287
461k
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3273
20
{
3274
20
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
20
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
20
    {
3281
20
        bool zero_parsed{false};
3282
20
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
0
            return {*r, 8, zero_parsed};
3284
0
        }
3285
20
    }
3286
20
    return {range.begin(), 10, false};
3287
20
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3273
466k
{
3274
466k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
4.82k
        return {*r, 16, false};
3276
4.82k
    }
3277
461k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
2.37k
        return {*r, 2, false};
3279
2.37k
    }
3280
458k
    {
3281
458k
        bool zero_parsed{false};
3282
458k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
217k
            return {*r, 8, zero_parsed};
3284
217k
        }
3285
458k
    }
3286
241k
    return {range.begin(), 10, false};
3287
458k
}
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
Line
Count
Source
3273
46.9k
{
3274
46.9k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
46.9k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
46.9k
    {
3281
46.9k
        bool zero_parsed{false};
3282
46.9k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
188
            return {*r, 8, zero_parsed};
3284
188
        }
3285
46.9k
    }
3286
46.8k
    return {range.begin(), 10, false};
3287
46.9k
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3273
12
{
3274
12
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
12
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
12
    {
3281
12
        bool zero_parsed{false};
3282
12
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
0
            return {*r, 8, zero_parsed};
3284
0
        }
3285
12
    }
3286
12
    return {range.begin(), 10, false};
3287
12
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3273
47.0k
{
3274
47.0k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
47.0k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
47.0k
    {
3281
47.0k
        bool zero_parsed{false};
3282
47.0k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
188
            return {*r, 8, zero_parsed};
3284
188
        }
3285
47.0k
    }
3286
46.8k
    return {range.begin(), 10, false};
3287
47.0k
}
3288
3289
template <typename Range>
3290
auto parse_integer_base_prefix(Range range, int base)
3291
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3292
5.03M
{
3293
5.03M
    switch (base) {
3294
222k
        case 2:
3295
            // allow 0b/0B
3296
222k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
222k
                    false};
3298
3299
348k
        case 8: {
3300
            // allow 0o/0O/0
3301
348k
            bool zero_parsed = false;
3302
348k
            auto it = apply_opt(
3303
348k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
348k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
836k
        case 16:
3308
            // allow 0x/0X
3309
836k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
836k
                    false};
3311
3312
1.02M
        case 0:
3313
            // detect base
3314
1.02M
            return parse_integer_base_prefix_for_detection(range);
3315
3316
2.59M
        default:
3317
            // no base prefix allowed
3318
2.59M
            return {range.begin(), base, false};
3319
5.03M
    }
3320
5.03M
}
Unexecuted instantiation: _ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
Line
Count
Source
3292
2.16M
{
3293
2.16M
    switch (base) {
3294
64.8k
        case 2:
3295
            // allow 0b/0B
3296
64.8k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
64.8k
                    false};
3298
3299
127k
        case 8: {
3300
            // allow 0o/0O/0
3301
127k
            bool zero_parsed = false;
3302
127k
            auto it = apply_opt(
3303
127k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
127k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
371k
        case 16:
3308
            // allow 0x/0X
3309
371k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
371k
                    false};
3311
3312
468k
        case 0:
3313
            // detect base
3314
468k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
1.13M
        default:
3317
            // no base prefix allowed
3318
1.13M
            return {range.begin(), base, false};
3319
2.16M
    }
3320
2.16M
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3292
818
{
3293
818
    switch (base) {
3294
14
        case 2:
3295
            // allow 0b/0B
3296
14
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
14
                    false};
3298
3299
14
        case 8: {
3300
            // allow 0o/0O/0
3301
14
            bool zero_parsed = false;
3302
14
            auto it = apply_opt(
3303
14
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
14
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
256
        case 16:
3308
            // allow 0x/0X
3309
256
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
256
                    false};
3311
3312
20
        case 0:
3313
            // detect base
3314
20
            return parse_integer_base_prefix_for_detection(range);
3315
3316
514
        default:
3317
            // no base prefix allowed
3318
514
            return {range.begin(), base, false};
3319
818
    }
3320
818
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3292
2.16M
{
3293
2.16M
    switch (base) {
3294
64.6k
        case 2:
3295
            // allow 0b/0B
3296
64.6k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
64.6k
                    false};
3298
3299
127k
        case 8: {
3300
            // allow 0o/0O/0
3301
127k
            bool zero_parsed = false;
3302
127k
            auto it = apply_opt(
3303
127k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
127k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
370k
        case 16:
3308
            // allow 0x/0X
3309
370k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
370k
                    false};
3311
3312
466k
        case 0:
3313
            // detect base
3314
466k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
1.13M
        default:
3317
            // no base prefix allowed
3318
1.13M
            return {range.begin(), base, false};
3319
2.16M
    }
3320
2.16M
}
Unexecuted instantiation: _ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
Line
Count
Source
3292
351k
{
3293
351k
    switch (base) {
3294
46.7k
        case 2:
3295
            // allow 0b/0B
3296
46.7k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
46.7k
                    false};
3298
3299
46.8k
        case 8: {
3300
            // allow 0o/0O/0
3301
46.8k
            bool zero_parsed = false;
3302
46.8k
            auto it = apply_opt(
3303
46.8k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
46.8k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
46.9k
        case 16:
3308
            // allow 0x/0X
3309
46.9k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
46.9k
                    false};
3311
3312
46.9k
        case 0:
3313
            // detect base
3314
46.9k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
164k
        default:
3317
            // no base prefix allowed
3318
164k
            return {range.begin(), base, false};
3319
351k
    }
3320
351k
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3292
364
{
3293
364
    switch (base) {
3294
6
        case 2:
3295
            // allow 0b/0B
3296
6
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
6
                    false};
3298
3299
6
        case 8: {
3300
            // allow 0o/0O/0
3301
6
            bool zero_parsed = false;
3302
6
            auto it = apply_opt(
3303
6
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
6
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
112
        case 16:
3308
            // allow 0x/0X
3309
112
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
112
                    false};
3311
3312
12
        case 0:
3313
            // detect base
3314
12
            return parse_integer_base_prefix_for_detection(range);
3315
3316
228
        default:
3317
            // no base prefix allowed
3318
228
            return {range.begin(), base, false};
3319
364
    }
3320
364
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3292
354k
{
3293
354k
    switch (base) {
3294
46.7k
        case 2:
3295
            // allow 0b/0B
3296
46.7k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
46.7k
                    false};
3298
3299
46.8k
        case 8: {
3300
            // allow 0o/0O/0
3301
46.8k
            bool zero_parsed = false;
3302
46.8k
            auto it = apply_opt(
3303
46.8k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
46.8k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
47.7k
        case 16:
3308
            // allow 0x/0X
3309
47.7k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
47.7k
                    false};
3311
3312
47.0k
        case 0:
3313
            // detect base
3314
47.0k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
166k
        default:
3317
            // no base prefix allowed
3318
166k
            return {range.begin(), base, false};
3319
354k
    }
3320
354k
}
3321
3322
template <typename Range>
3323
auto parse_integer_prefix(Range range, int base) -> eof_expected<
3324
    parse_integer_prefix_result<ranges::const_iterator_t<Range>>>
3325
5.03M
{
3326
5.03M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
5.03M
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
5.03M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
5.03M
        parse_integer_base_prefix(
3331
5.03M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
5.03M
    if (parsed_zero) {
3334
543k
        if (digits_begin_it == range.end() ||
3335
543k
            char_to_int(*digits_begin_it) >= 8) {
3336
318k
            digits_begin_it = base_prefix_begin_it;
3337
318k
        }
3338
224k
        else {
3339
224k
            parsed_zero = false;
3340
224k
        }
3341
543k
    }
3342
4.48M
    else {
3343
4.48M
        if (digits_begin_it == range.end() ||
3344
4.48M
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
897k
            digits_begin_it = base_prefix_begin_it;
3346
897k
        }
3347
4.48M
    }
3348
3349
5.03M
    if (sign == sign_type::default_sign) {
3350
4.66M
        sign = sign_type::plus_sign;
3351
4.66M
    }
3352
5.03M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
5.03M
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
5.03M
}
Unexecuted instantiation: _ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
Line
Count
Source
3325
2.16M
{
3326
2.16M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
2.16M
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
2.16M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
2.16M
        parse_integer_base_prefix(
3331
2.16M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
2.16M
    if (parsed_zero) {
3334
272k
        if (digits_begin_it == range.end() ||
3335
272k
            char_to_int(*digits_begin_it) >= 8) {
3336
159k
            digits_begin_it = base_prefix_begin_it;
3337
159k
        }
3338
112k
        else {
3339
112k
            parsed_zero = false;
3340
112k
        }
3341
272k
    }
3342
1.89M
    else {
3343
1.89M
        if (digits_begin_it == range.end() ||
3344
1.89M
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
98.3k
            digits_begin_it = base_prefix_begin_it;
3346
98.3k
        }
3347
1.89M
    }
3348
3349
2.16M
    if (sign == sign_type::default_sign) {
3350
1.98M
        sign = sign_type::plus_sign;
3351
1.98M
    }
3352
2.16M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
2.16M
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
2.16M
}
_ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3325
818
{
3326
818
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
818
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
818
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
818
        parse_integer_base_prefix(
3331
818
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
818
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
818
    else {
3343
818
        if (digits_begin_it == range.end() ||
3344
818
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
818
            digits_begin_it = base_prefix_begin_it;
3346
818
        }
3347
818
    }
3348
3349
818
    if (sign == sign_type::default_sign) {
3350
818
        sign = sign_type::plus_sign;
3351
818
    }
3352
818
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
818
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
818
}
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3325
2.16M
{
3326
2.16M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
2.16M
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
2.16M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
2.16M
        parse_integer_base_prefix(
3331
2.16M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
2.16M
    if (parsed_zero) {
3334
270k
        if (digits_begin_it == range.end() ||
3335
270k
            char_to_int(*digits_begin_it) >= 8) {
3336
157k
            digits_begin_it = base_prefix_begin_it;
3337
157k
        }
3338
112k
        else {
3339
112k
            parsed_zero = false;
3340
112k
        }
3341
270k
    }
3342
1.89M
    else {
3343
1.89M
        if (digits_begin_it == range.end() ||
3344
1.89M
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
102k
            digits_begin_it = base_prefix_begin_it;
3346
102k
        }
3347
1.89M
    }
3348
3349
2.16M
    if (sign == sign_type::default_sign) {
3350
1.98M
        sign = sign_type::plus_sign;
3351
1.98M
    }
3352
2.16M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
2.16M
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
2.16M
}
Unexecuted instantiation: _ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
Line
Count
Source
3325
351k
{
3326
351k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
351k
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
351k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
351k
        parse_integer_base_prefix(
3331
351k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
351k
    if (parsed_zero) {
3334
356
        if (digits_begin_it == range.end() ||
3335
356
            char_to_int(*digits_begin_it) >= 8) {
3336
260
            digits_begin_it = base_prefix_begin_it;
3337
260
        }
3338
96
        else {
3339
96
            parsed_zero = false;
3340
96
        }
3341
356
    }
3342
351k
    else {
3343
351k
        if (digits_begin_it == range.end() ||
3344
351k
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
346k
            digits_begin_it = base_prefix_begin_it;
3346
346k
        }
3347
351k
    }
3348
3349
351k
    if (sign == sign_type::default_sign) {
3350
349k
        sign = sign_type::plus_sign;
3351
349k
    }
3352
351k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
351k
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
351k
}
_ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3325
364
{
3326
364
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
364
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
364
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
364
        parse_integer_base_prefix(
3331
364
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
364
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
364
    else {
3343
364
        if (digits_begin_it == range.end() ||
3344
364
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
364
            digits_begin_it = base_prefix_begin_it;
3346
364
        }
3347
364
    }
3348
3349
364
    if (sign == sign_type::default_sign) {
3350
364
        sign = sign_type::plus_sign;
3351
364
    }
3352
364
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
364
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
364
}
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3325
354k
{
3326
354k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
354k
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
354k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
354k
        parse_integer_base_prefix(
3331
354k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
354k
    if (parsed_zero) {
3334
356
        if (digits_begin_it == range.end() ||
3335
356
            char_to_int(*digits_begin_it) >= 8) {
3336
260
            digits_begin_it = base_prefix_begin_it;
3337
260
        }
3338
96
        else {
3339
96
            parsed_zero = false;
3340
96
        }
3341
356
    }
3342
353k
    else {
3343
353k
        if (digits_begin_it == range.end() ||
3344
353k
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
349k
            digits_begin_it = base_prefix_begin_it;
3346
349k
        }
3347
353k
    }
3348
3349
354k
    if (sign == sign_type::default_sign) {
3350
352k
        sign = sign_type::plus_sign;
3351
352k
    }
3352
354k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
354k
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
354k
}
3355
3356
template <typename Range>
3357
auto parse_integer_digits_without_thsep(Range range, int base)
3358
    -> scan_expected<ranges::const_iterator_t<Range>>
3359
3.91M
{
3360
3.91M
    using char_type = detail::char_t<Range>;
3361
3362
3.91M
    if constexpr (ranges::contiguous_range<Range>) {
3363
1.96M
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
1.65k
            return unexpected_scan_error(
3365
1.65k
                scan_error::invalid_scanned_value,
3366
1.65k
                "Failed to parse integer: No digits found");
3367
1.65k
        }
3368
1.95M
        return range.end();
3369
1.96M
    }
3370
1.95M
    else {
3371
1.95M
        return read_while1_code_unit(range,
3372
6.81M
                                     [&](char_type ch) noexcept {
3373
6.81M
                                         return char_to_int(ch) < base;
3374
6.81M
                                     })
Unexecuted instantiation: _ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlcE_clEc
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlcE_clEc
Line
Count
Source
3372
6.49M
                                     [&](char_type ch) noexcept {
3373
6.49M
                                         return char_to_int(ch) < base;
3374
6.49M
                                     })
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlcE_clEc
Line
Count
Source
3372
802
                                     [&](char_type ch) noexcept {
3373
802
                                         return char_to_int(ch) < base;
3374
802
                                     })
Unexecuted instantiation: _ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlwE_clEw
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlwE_clEw
Line
Count
Source
3372
314k
                                     [&](char_type ch) noexcept {
3373
314k
                                         return char_to_int(ch) < base;
3374
314k
                                     })
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlwE_clEw
Line
Count
Source
3372
352
                                     [&](char_type ch) noexcept {
3373
352
                                         return char_to_int(ch) < base;
3374
352
                                     })
3375
1.95M
            .transform_error(map_parse_error_to_scan_error(
3376
1.95M
                scan_error::invalid_scanned_value,
3377
1.95M
                "Failed to parse integer: No digits found"));
3378
1.95M
    }
3379
3.91M
}
Unexecuted instantiation: _ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
Line
Count
Source
3359
1.65M
{
3360
1.65M
    using char_type = detail::char_t<Range>;
3361
3362
1.65M
    if constexpr (ranges::contiguous_range<Range>) {
3363
1.65M
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
1.65M
            return unexpected_scan_error(
3365
1.65M
                scan_error::invalid_scanned_value,
3366
1.65M
                "Failed to parse integer: No digits found");
3367
1.65M
        }
3368
1.65M
        return range.end();
3369
1.65M
    }
3370
1.65M
    else {
3371
1.65M
        return read_while1_code_unit(range,
3372
1.65M
                                     [&](char_type ch) noexcept {
3373
1.65M
                                         return char_to_int(ch) < base;
3374
1.65M
                                     })
3375
1.65M
            .transform_error(map_parse_error_to_scan_error(
3376
1.65M
                scan_error::invalid_scanned_value,
3377
1.65M
                "Failed to parse integer: No digits found"));
3378
1.65M
    }
3379
1.65M
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3359
802
{
3360
802
    using char_type = detail::char_t<Range>;
3361
3362
802
    if constexpr (ranges::contiguous_range<Range>) {
3363
802
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
802
            return unexpected_scan_error(
3365
802
                scan_error::invalid_scanned_value,
3366
802
                "Failed to parse integer: No digits found");
3367
802
        }
3368
802
        return range.end();
3369
802
    }
3370
802
    else {
3371
802
        return read_while1_code_unit(range,
3372
802
                                     [&](char_type ch) noexcept {
3373
802
                                         return char_to_int(ch) < base;
3374
802
                                     })
3375
802
            .transform_error(map_parse_error_to_scan_error(
3376
802
                scan_error::invalid_scanned_value,
3377
802
                "Failed to parse integer: No digits found"));
3378
802
    }
3379
802
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3359
1.65M
{
3360
1.65M
    using char_type = detail::char_t<Range>;
3361
3362
1.65M
    if constexpr (ranges::contiguous_range<Range>) {
3363
1.65M
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
1.42k
            return unexpected_scan_error(
3365
1.42k
                scan_error::invalid_scanned_value,
3366
1.42k
                "Failed to parse integer: No digits found");
3367
1.42k
        }
3368
1.65M
        return range.end();
3369
1.65M
    }
3370
1.65M
    else {
3371
1.65M
        return read_while1_code_unit(range,
3372
1.65M
                                     [&](char_type ch) noexcept {
3373
1.65M
                                         return char_to_int(ch) < base;
3374
1.65M
                                     })
3375
1.65M
            .transform_error(map_parse_error_to_scan_error(
3376
1.65M
                scan_error::invalid_scanned_value,
3377
1.65M
                "Failed to parse integer: No digits found"));
3378
1.65M
    }
3379
1.65M
}
Unexecuted instantiation: _ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
Line
Count
Source
3359
303k
{
3360
303k
    using char_type = detail::char_t<Range>;
3361
3362
303k
    if constexpr (ranges::contiguous_range<Range>) {
3363
303k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
303k
            return unexpected_scan_error(
3365
303k
                scan_error::invalid_scanned_value,
3366
303k
                "Failed to parse integer: No digits found");
3367
303k
        }
3368
303k
        return range.end();
3369
303k
    }
3370
303k
    else {
3371
303k
        return read_while1_code_unit(range,
3372
303k
                                     [&](char_type ch) noexcept {
3373
303k
                                         return char_to_int(ch) < base;
3374
303k
                                     })
3375
303k
            .transform_error(map_parse_error_to_scan_error(
3376
303k
                scan_error::invalid_scanned_value,
3377
303k
                "Failed to parse integer: No digits found"));
3378
303k
    }
3379
303k
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3359
352
{
3360
352
    using char_type = detail::char_t<Range>;
3361
3362
352
    if constexpr (ranges::contiguous_range<Range>) {
3363
352
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
352
            return unexpected_scan_error(
3365
352
                scan_error::invalid_scanned_value,
3366
352
                "Failed to parse integer: No digits found");
3367
352
        }
3368
352
        return range.end();
3369
352
    }
3370
352
    else {
3371
352
        return read_while1_code_unit(range,
3372
352
                                     [&](char_type ch) noexcept {
3373
352
                                         return char_to_int(ch) < base;
3374
352
                                     })
3375
352
            .transform_error(map_parse_error_to_scan_error(
3376
352
                scan_error::invalid_scanned_value,
3377
352
                "Failed to parse integer: No digits found"));
3378
352
    }
3379
352
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3359
306k
{
3360
306k
    using char_type = detail::char_t<Range>;
3361
3362
306k
    if constexpr (ranges::contiguous_range<Range>) {
3363
306k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
234
            return unexpected_scan_error(
3365
234
                scan_error::invalid_scanned_value,
3366
234
                "Failed to parse integer: No digits found");
3367
234
        }
3368
306k
        return range.end();
3369
306k
    }
3370
306k
    else {
3371
306k
        return read_while1_code_unit(range,
3372
306k
                                     [&](char_type ch) noexcept {
3373
306k
                                         return char_to_int(ch) < base;
3374
306k
                                     })
3375
306k
            .transform_error(map_parse_error_to_scan_error(
3376
306k
                scan_error::invalid_scanned_value,
3377
306k
                "Failed to parse integer: No digits found"));
3378
306k
    }
3379
306k
}
3380
3381
template <typename Range, typename CharT>
3382
auto parse_integer_digits_with_thsep(
3383
    Range range,
3384
    int base,
3385
    const localized_number_formatting_options<CharT>& locale_options)
3386
    -> scan_expected<std::tuple<ranges::const_iterator_t<Range>,
3387
                                std::basic_string<CharT>,
3388
                                std::string>>
3389
733k
{
3390
733k
    std::basic_string<CharT> output;
3391
733k
    std::string thsep_indices;
3392
733k
    auto it = range.begin();
3393
733k
    bool digit_matched = false;
3394
194M
    for (; it != range.end(); ++it) {
3395
194M
        if (*it == locale_options.thousands_sep) {
3396
191M
            thsep_indices.push_back(
3397
191M
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
191M
        }
3399
3.06M
        else if (char_to_int(*it) >= base) {
3400
723k
            break;
3401
723k
        }
3402
2.34M
        else {
3403
2.34M
            output.push_back(*it);
3404
2.34M
            digit_matched = true;
3405
2.34M
        }
3406
194M
    }
3407
733k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
110k
        return unexpected_scan_error(
3409
110k
            scan_error::invalid_scanned_value,
3410
110k
            "Failed to parse integer: No digits found");
3411
110k
    }
3412
622k
    return std::tuple{it, output, thsep_indices};
3413
733k
}
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
Line
Count
Source
3389
320k
{
3390
320k
    std::basic_string<CharT> output;
3391
320k
    std::string thsep_indices;
3392
320k
    auto it = range.begin();
3393
320k
    bool digit_matched = false;
3394
1.55M
    for (; it != range.end(); ++it) {
3395
1.55M
        if (*it == locale_options.thousands_sep) {
3396
67.8k
            thsep_indices.push_back(
3397
67.8k
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
67.8k
        }
3399
1.48M
        else if (char_to_int(*it) >= base) {
3400
315k
            break;
3401
315k
        }
3402
1.16M
        else {
3403
1.16M
            output.push_back(*it);
3404
1.16M
            digit_matched = true;
3405
1.16M
        }
3406
1.55M
    }
3407
320k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
8.86k
        return unexpected_scan_error(
3409
8.86k
            scan_error::invalid_scanned_value,
3410
8.86k
            "Failed to parse integer: No digits found");
3411
8.86k
    }
3412
311k
    return std::tuple{it, output, thsep_indices};
3413
320k
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3389
16
{
3390
16
    std::basic_string<CharT> output;
3391
16
    std::string thsep_indices;
3392
16
    auto it = range.begin();
3393
16
    bool digit_matched = false;
3394
16
    for (; it != range.end(); ++it) {
3395
16
        if (*it == locale_options.thousands_sep) {
3396
0
            thsep_indices.push_back(
3397
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
0
        }
3399
16
        else if (char_to_int(*it) >= base) {
3400
16
            break;
3401
16
        }
3402
0
        else {
3403
0
            output.push_back(*it);
3404
0
            digit_matched = true;
3405
0
        }
3406
16
    }
3407
16
    if (SCN_UNLIKELY(!digit_matched)) {
3408
16
        return unexpected_scan_error(
3409
16
            scan_error::invalid_scanned_value,
3410
16
            "Failed to parse integer: No digits found");
3411
16
    }
3412
0
    return std::tuple{it, output, thsep_indices};
3413
16
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3389
319k
{
3390
319k
    std::basic_string<CharT> output;
3391
319k
    std::string thsep_indices;
3392
319k
    auto it = range.begin();
3393
319k
    bool digit_matched = false;
3394
1.55M
    for (; it != range.end(); ++it) {
3395
1.54M
        if (*it == locale_options.thousands_sep) {
3396
67.4k
            thsep_indices.push_back(
3397
67.4k
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
67.4k
        }
3399
1.48M
        else if (char_to_int(*it) >= base) {
3400
314k
            break;
3401
314k
        }
3402
1.16M
        else {
3403
1.16M
            output.push_back(*it);
3404
1.16M
            digit_matched = true;
3405
1.16M
        }
3406
1.54M
    }
3407
319k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
9.25k
        return unexpected_scan_error(
3409
9.25k
            scan_error::invalid_scanned_value,
3410
9.25k
            "Failed to parse integer: No digits found");
3411
9.25k
    }
3412
309k
    return std::tuple{it, output, thsep_indices};
3413
319k
}
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
Line
Count
Source
3389
46.7k
{
3390
46.7k
    std::basic_string<CharT> output;
3391
46.7k
    std::string thsep_indices;
3392
46.7k
    auto it = range.begin();
3393
46.7k
    bool digit_matched = false;
3394
95.7M
    for (; it != range.end(); ++it) {
3395
95.7M
        if (*it == locale_options.thousands_sep) {
3396
95.6M
            thsep_indices.push_back(
3397
95.6M
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
95.6M
        }
3399
48.9k
        else if (char_to_int(*it) >= base) {
3400
46.3k
            break;
3401
46.3k
        }
3402
2.61k
        else {
3403
2.61k
            output.push_back(*it);
3404
2.61k
            digit_matched = true;
3405
2.61k
        }
3406
95.7M
    }
3407
46.7k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
46.0k
        return unexpected_scan_error(
3409
46.0k
            scan_error::invalid_scanned_value,
3410
46.0k
            "Failed to parse integer: No digits found");
3411
46.0k
    }
3412
724
    return std::tuple{it, output, thsep_indices};
3413
46.7k
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3389
12
{
3390
12
    std::basic_string<CharT> output;
3391
12
    std::string thsep_indices;
3392
12
    auto it = range.begin();
3393
12
    bool digit_matched = false;
3394
12
    for (; it != range.end(); ++it) {
3395
12
        if (*it == locale_options.thousands_sep) {
3396
0
            thsep_indices.push_back(
3397
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
0
        }
3399
12
        else if (char_to_int(*it) >= base) {
3400
12
            break;
3401
12
        }
3402
0
        else {
3403
0
            output.push_back(*it);
3404
0
            digit_matched = true;
3405
0
        }
3406
12
    }
3407
12
    if (SCN_UNLIKELY(!digit_matched)) {
3408
12
        return unexpected_scan_error(
3409
12
            scan_error::invalid_scanned_value,
3410
12
            "Failed to parse integer: No digits found");
3411
12
    }
3412
0
    return std::tuple{it, output, thsep_indices};
3413
12
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3389
46.7k
{
3390
46.7k
    std::basic_string<CharT> output;
3391
46.7k
    std::string thsep_indices;
3392
46.7k
    auto it = range.begin();
3393
46.7k
    bool digit_matched = false;
3394
95.7M
    for (; it != range.end(); ++it) {
3395
95.7M
        if (*it == locale_options.thousands_sep) {
3396
95.6M
            thsep_indices.push_back(
3397
95.6M
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
95.6M
        }
3399
49.0k
        else if (char_to_int(*it) >= base) {
3400
46.3k
            break;
3401
46.3k
        }
3402
2.61k
        else {
3403
2.61k
            output.push_back(*it);
3404
2.61k
            digit_matched = true;
3405
2.61k
        }
3406
95.7M
    }
3407
46.7k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
46.0k
        return unexpected_scan_error(
3409
46.0k
            scan_error::invalid_scanned_value,
3410
46.0k
            "Failed to parse integer: No digits found");
3411
46.0k
    }
3412
724
    return std::tuple{it, output, thsep_indices};
3413
46.7k
}
3414
3415
template <typename CharT, typename T>
3416
auto parse_integer_value(std::basic_string_view<CharT> source,
3417
                         T& value,
3418
                         sign_type sign,
3419
                         int base)
3420
    -> scan_expected<typename std::basic_string_view<CharT>::iterator>;
3421
3422
template <typename T>
3423
void parse_integer_value_exhaustive_valid(std::string_view source, T& value);
3424
3425
#define SCN_DECLARE_INTEGER_READER_TEMPLATE(CharT, IntT)                    \
3426
    extern template auto parse_integer_value(                               \
3427
        std::basic_string_view<CharT> source, IntT& value, sign_type sign,  \
3428
        int base)                                                           \
3429
        -> scan_expected<typename std::basic_string_view<CharT>::iterator>; \
3430
    extern template void parse_integer_value_exhaustive_valid(              \
3431
        std::string_view, IntT&);
3432
3433
#if !SCN_DISABLE_TYPE_SCHAR
3434
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, signed char)
3435
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, signed char)
3436
#endif
3437
#if !SCN_DISABLE_TYPE_SHORT
3438
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, short)
3439
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, short)
3440
#endif
3441
#if !SCN_DISABLE_TYPE_INT
3442
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int)
3443
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int)
3444
#endif
3445
#if !SCN_DISABLE_TYPE_LONG
3446
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long)
3447
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long)
3448
#endif
3449
#if !SCN_DISABLE_TYPE_LONG_LONG
3450
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long long)
3451
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long long)
3452
#endif
3453
#if !SCN_DISABLE_TYPE_UCHAR
3454
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned char)
3455
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned char)
3456
#endif
3457
#if !SCN_DISABLE_TYPE_USHORT
3458
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned short)
3459
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned short)
3460
#endif
3461
#if !SCN_DISABLE_TYPE_UINT
3462
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned int)
3463
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned int)
3464
#endif
3465
#if !SCN_DISABLE_TYPE_ULONG
3466
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long)
3467
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long)
3468
#endif
3469
#if !SCN_DISABLE_TYPE_ULONG_LONG
3470
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long long)
3471
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long long)
3472
#endif
3473
3474
#undef SCN_DECLARE_INTEGER_READER_TEMPLATE
3475
3476
template <typename CharT>
3477
class reader_impl_for_int
3478
    : public reader_base<reader_impl_for_int<CharT>, CharT> {
3479
public:
3480
    constexpr reader_impl_for_int() = default;
3481
3482
    void check_specs_impl(const detail::format_specs& specs,
3483
                          reader_error_handler& eh)
3484
3.97M
    {
3485
3.97M
        detail::check_int_type_specs(specs, eh);
3486
3.97M
    }
scn::v3::impl::reader_impl_for_int<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
3484
3.40M
    {
3485
3.40M
        detail::check_int_type_specs(specs, eh);
3486
3.40M
    }
scn::v3::impl::reader_impl_for_int<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
3484
570k
    {
3485
570k
        detail::check_int_type_specs(specs, eh);
3486
570k
    }
3487
3488
    template <typename Range, typename T>
3489
    auto read_default_with_base(Range range, T& value, int base)
3490
        -> scan_expected<ranges::const_iterator_t<Range>>
3491
1.10M
    {
3492
1.10M
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
1.10M
                                   .transform_error(make_eof_scan_error));
3494
3495
1.10M
        if constexpr (!std::is_signed_v<T>) {
3496
521k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
13.6k
                return unexpected_scan_error(
3498
13.6k
                    scan_error::invalid_scanned_value,
3499
13.6k
                    "Unexpected '-' sign when parsing an "
3500
13.6k
                    "unsigned value");
3501
13.6k
            }
3502
521k
        }
3503
3504
1.09M
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
2.10M
        SCN_TRY(after_digits_it,
3510
2.10M
                parse_integer_digits_without_thsep(
3511
2.10M
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
2.10M
                    prefix_result.parsed_base));
3513
3514
2.10M
        auto buf = make_contiguous_buffer(
3515
2.10M
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
2.10M
        SCN_TRY(result_it,
3517
907k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
907k
                                    prefix_result.parsed_base));
3519
3520
907k
        return ranges::next(prefix_result.iterator,
3521
907k
                            ranges::distance(buf.view().begin(), result_it));
3522
2.10M
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
78.0k
    {
3492
78.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.0k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.0k
        if constexpr (!std::is_signed_v<T>) {
3496
78.0k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
78.0k
                return unexpected_scan_error(
3498
78.0k
                    scan_error::invalid_scanned_value,
3499
78.0k
                    "Unexpected '-' sign when parsing an "
3500
78.0k
                    "unsigned value");
3501
78.0k
            }
3502
78.0k
        }
3503
3504
78.0k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
153k
        SCN_TRY(after_digits_it,
3510
153k
                parse_integer_digits_without_thsep(
3511
153k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
153k
                    prefix_result.parsed_base));
3513
3514
153k
        auto buf = make_contiguous_buffer(
3515
153k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
153k
        SCN_TRY(result_it,
3517
72.8k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.8k
                                    prefix_result.parsed_base));
3519
3520
72.8k
        return ranges::next(prefix_result.iterator,
3521
72.8k
                            ranges::distance(buf.view().begin(), result_it));
3522
153k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
88.4k
    {
3492
88.4k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
88.4k
                                   .transform_error(make_eof_scan_error));
3494
3495
88.4k
        if constexpr (!std::is_signed_v<T>) {
3496
88.4k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
88.4k
                return unexpected_scan_error(
3498
88.4k
                    scan_error::invalid_scanned_value,
3499
88.4k
                    "Unexpected '-' sign when parsing an "
3500
88.4k
                    "unsigned value");
3501
88.4k
            }
3502
88.4k
        }
3503
3504
88.4k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
173k
        SCN_TRY(after_digits_it,
3510
173k
                parse_integer_digits_without_thsep(
3511
173k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
173k
                    prefix_result.parsed_base));
3513
3514
173k
        auto buf = make_contiguous_buffer(
3515
173k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
173k
        SCN_TRY(result_it,
3517
83.6k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
83.6k
                                    prefix_result.parsed_base));
3519
3520
83.6k
        return ranges::next(prefix_result.iterator,
3521
83.6k
                            ranges::distance(buf.view().begin(), result_it));
3522
173k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
89.9k
    {
3492
89.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
89.9k
                                   .transform_error(make_eof_scan_error));
3494
3495
89.9k
        if constexpr (!std::is_signed_v<T>) {
3496
89.9k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
89.9k
                return unexpected_scan_error(
3498
89.9k
                    scan_error::invalid_scanned_value,
3499
89.9k
                    "Unexpected '-' sign when parsing an "
3500
89.9k
                    "unsigned value");
3501
89.9k
            }
3502
89.9k
        }
3503
3504
89.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
176k
        SCN_TRY(after_digits_it,
3510
176k
                parse_integer_digits_without_thsep(
3511
176k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
176k
                    prefix_result.parsed_base));
3513
3514
176k
        auto buf = make_contiguous_buffer(
3515
176k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
176k
        SCN_TRY(result_it,
3517
85.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
85.2k
                                    prefix_result.parsed_base));
3519
3520
85.2k
        return ranges::next(prefix_result.iterator,
3521
85.2k
                            ranges::distance(buf.view().begin(), result_it));
3522
176k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
69.3k
    {
3492
69.3k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
69.3k
                                   .transform_error(make_eof_scan_error));
3494
3495
69.3k
        if constexpr (!std::is_signed_v<T>) {
3496
69.3k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.13k
                return unexpected_scan_error(
3498
2.13k
                    scan_error::invalid_scanned_value,
3499
2.13k
                    "Unexpected '-' sign when parsing an "
3500
2.13k
                    "unsigned value");
3501
2.13k
            }
3502
69.3k
        }
3503
3504
67.1k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
132k
        SCN_TRY(after_digits_it,
3510
132k
                parse_integer_digits_without_thsep(
3511
132k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
132k
                    prefix_result.parsed_base));
3513
3514
132k
        auto buf = make_contiguous_buffer(
3515
132k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
132k
        SCN_TRY(result_it,
3517
64.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
64.0k
                                    prefix_result.parsed_base));
3519
3520
64.0k
        return ranges::next(prefix_result.iterator,
3521
64.0k
                            ranges::distance(buf.view().begin(), result_it));
3522
132k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
77.1k
    {
3492
77.1k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
77.1k
                                   .transform_error(make_eof_scan_error));
3494
3495
77.1k
        if constexpr (!std::is_signed_v<T>) {
3496
77.1k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.19k
                return unexpected_scan_error(
3498
2.19k
                    scan_error::invalid_scanned_value,
3499
2.19k
                    "Unexpected '-' sign when parsing an "
3500
2.19k
                    "unsigned value");
3501
2.19k
            }
3502
77.1k
        }
3503
3504
74.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
147k
        SCN_TRY(after_digits_it,
3510
147k
                parse_integer_digits_without_thsep(
3511
147k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
147k
                    prefix_result.parsed_base));
3513
3514
147k
        auto buf = make_contiguous_buffer(
3515
147k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
147k
        SCN_TRY(result_it,
3517
72.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.0k
                                    prefix_result.parsed_base));
3519
3520
72.0k
        return ranges::next(prefix_result.iterator,
3521
72.0k
                            ranges::distance(buf.view().begin(), result_it));
3522
147k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
78.0k
    {
3492
78.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.0k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.0k
        if constexpr (!std::is_signed_v<T>) {
3496
78.0k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.24k
                return unexpected_scan_error(
3498
2.24k
                    scan_error::invalid_scanned_value,
3499
2.24k
                    "Unexpected '-' sign when parsing an "
3500
2.24k
                    "unsigned value");
3501
2.24k
            }
3502
78.0k
        }
3503
3504
75.8k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
149k
        SCN_TRY(after_digits_it,
3510
149k
                parse_integer_digits_without_thsep(
3511
149k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
149k
                    prefix_result.parsed_base));
3513
3514
149k
        auto buf = make_contiguous_buffer(
3515
149k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
149k
        SCN_TRY(result_it,
3517
72.9k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.9k
                                    prefix_result.parsed_base));
3519
3520
72.9k
        return ranges::next(prefix_result.iterator,
3521
72.9k
                            ranges::distance(buf.view().begin(), result_it));
3522
149k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.4k
        SCN_TRY(after_digits_it,
3510
23.4k
                parse_integer_digits_without_thsep(
3511
23.4k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.4k
                    prefix_result.parsed_base));
3513
3514
23.4k
        auto buf = make_contiguous_buffer(
3515
23.4k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.4k
        SCN_TRY(result_it,
3517
135
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
135
                                    prefix_result.parsed_base));
3519
3520
135
        return ranges::next(prefix_result.iterator,
3521
135
                            ranges::distance(buf.view().begin(), result_it));
3522
23.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
12.2k
    {
3492
12.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
12.2k
                                   .transform_error(make_eof_scan_error));
3494
3495
12.2k
        if constexpr (!std::is_signed_v<T>) {
3496
12.2k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
12.2k
                return unexpected_scan_error(
3498
12.2k
                    scan_error::invalid_scanned_value,
3499
12.2k
                    "Unexpected '-' sign when parsing an "
3500
12.2k
                    "unsigned value");
3501
12.2k
            }
3502
12.2k
        }
3503
3504
12.2k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
24.4k
        SCN_TRY(after_digits_it,
3510
24.4k
                parse_integer_digits_without_thsep(
3511
24.4k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
24.4k
                    prefix_result.parsed_base));
3513
3514
24.4k
        auto buf = make_contiguous_buffer(
3515
24.4k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
24.4k
        SCN_TRY(result_it,
3517
165
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
165
                                    prefix_result.parsed_base));
3519
3520
165
        return ranges::next(prefix_result.iterator,
3521
165
                            ranges::distance(buf.view().begin(), result_it));
3522
24.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.5k
        SCN_TRY(after_digits_it,
3510
23.5k
                parse_integer_digits_without_thsep(
3511
23.5k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.5k
                    prefix_result.parsed_base));
3513
3514
23.5k
        auto buf = make_contiguous_buffer(
3515
23.5k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.5k
        SCN_TRY(result_it,
3517
210
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
210
                                    prefix_result.parsed_base));
3519
3520
210
        return ranges::next(prefix_result.iterator,
3521
210
                            ranges::distance(buf.view().begin(), result_it));
3522
23.5k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.2k
        SCN_TRY(after_digits_it,
3510
23.2k
                parse_integer_digits_without_thsep(
3511
23.2k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.2k
                    prefix_result.parsed_base));
3513
3514
23.2k
        auto buf = make_contiguous_buffer(
3515
23.2k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.2k
        SCN_TRY(result_it,
3517
108
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
108
                                    prefix_result.parsed_base));
3519
3520
108
        return ranges::next(prefix_result.iterator,
3521
108
                            ranges::distance(buf.view().begin(), result_it));
3522
23.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
12.2k
    {
3492
12.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
12.2k
                                   .transform_error(make_eof_scan_error));
3494
3495
12.2k
        if constexpr (!std::is_signed_v<T>) {
3496
12.2k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
12.2k
        }
3503
3504
12.1k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
24.3k
        SCN_TRY(after_digits_it,
3510
24.3k
                parse_integer_digits_without_thsep(
3511
24.3k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
24.3k
                    prefix_result.parsed_base));
3513
3514
24.3k
        auto buf = make_contiguous_buffer(
3515
24.3k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
24.3k
        SCN_TRY(result_it,
3517
126
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
126
                                    prefix_result.parsed_base));
3519
3520
126
        return ranges::next(prefix_result.iterator,
3521
126
                            ranges::distance(buf.view().begin(), result_it));
3522
24.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
72
                return unexpected_scan_error(
3498
72
                    scan_error::invalid_scanned_value,
3499
72
                    "Unexpected '-' sign when parsing an "
3500
72
                    "unsigned value");
3501
72
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.3k
        SCN_TRY(after_digits_it,
3510
23.3k
                parse_integer_digits_without_thsep(
3511
23.3k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.3k
                    prefix_result.parsed_base));
3513
3514
23.3k
        auto buf = make_contiguous_buffer(
3515
23.3k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.3k
        SCN_TRY(result_it,
3517
162
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
162
                                    prefix_result.parsed_base));
3519
3520
162
        return ranges::next(prefix_result.iterator,
3521
162
                            ranges::distance(buf.view().begin(), result_it));
3522
23.3k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.9k
        SCN_TRY(after_digits_it,
3510
11.9k
                parse_integer_digits_without_thsep(
3511
11.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.9k
                    prefix_result.parsed_base));
3513
3514
11.9k
        auto buf = make_contiguous_buffer(
3515
11.9k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.9k
        SCN_TRY(result_it,
3517
135
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
135
                                    prefix_result.parsed_base));
3519
3520
135
        return ranges::next(prefix_result.iterator,
3521
135
                            ranges::distance(buf.view().begin(), result_it));
3522
11.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.9k
        SCN_TRY(after_digits_it,
3510
11.9k
                parse_integer_digits_without_thsep(
3511
11.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.9k
                    prefix_result.parsed_base));
3513
3514
11.9k
        auto buf = make_contiguous_buffer(
3515
11.9k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.9k
        SCN_TRY(result_it,
3517
165
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
165
                                    prefix_result.parsed_base));
3519
3520
165
        return ranges::next(prefix_result.iterator,
3521
165
                            ranges::distance(buf.view().begin(), result_it));
3522
11.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
12.0k
        SCN_TRY(after_digits_it,
3510
12.0k
                parse_integer_digits_without_thsep(
3511
12.0k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
12.0k
                    prefix_result.parsed_base));
3513
3514
12.0k
        auto buf = make_contiguous_buffer(
3515
12.0k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
12.0k
        SCN_TRY(result_it,
3517
210
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
210
                                    prefix_result.parsed_base));
3519
3520
210
        return ranges::next(prefix_result.iterator,
3521
210
                            ranges::distance(buf.view().begin(), result_it));
3522
12.0k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.7k
        SCN_TRY(after_digits_it,
3510
11.7k
                parse_integer_digits_without_thsep(
3511
11.7k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.7k
                    prefix_result.parsed_base));
3513
3514
11.7k
        auto buf = make_contiguous_buffer(
3515
11.7k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.7k
        SCN_TRY(result_it,
3517
108
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
108
                                    prefix_result.parsed_base));
3519
3520
108
        return ranges::next(prefix_result.iterator,
3521
108
                            ranges::distance(buf.view().begin(), result_it));
3522
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.8k
        SCN_TRY(after_digits_it,
3510
11.8k
                parse_integer_digits_without_thsep(
3511
11.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.8k
                    prefix_result.parsed_base));
3513
3514
11.8k
        auto buf = make_contiguous_buffer(
3515
11.8k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.8k
        SCN_TRY(result_it,
3517
126
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
126
                                    prefix_result.parsed_base));
3519
3520
126
        return ranges::next(prefix_result.iterator,
3521
126
                            ranges::distance(buf.view().begin(), result_it));
3522
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
72
                return unexpected_scan_error(
3498
72
                    scan_error::invalid_scanned_value,
3499
72
                    "Unexpected '-' sign when parsing an "
3500
72
                    "unsigned value");
3501
72
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.8k
        SCN_TRY(after_digits_it,
3510
11.8k
                parse_integer_digits_without_thsep(
3511
11.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.8k
                    prefix_result.parsed_base));
3513
3514
11.8k
        auto buf = make_contiguous_buffer(
3515
11.8k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.8k
        SCN_TRY(result_it,
3517
162
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
162
                                    prefix_result.parsed_base));
3519
3520
162
        return ranges::next(prefix_result.iterator,
3521
162
                            ranges::distance(buf.view().begin(), result_it));
3522
11.8k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
78.0k
    {
3492
78.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.0k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.0k
        if constexpr (!std::is_signed_v<T>) {
3496
78.0k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
78.0k
                return unexpected_scan_error(
3498
78.0k
                    scan_error::invalid_scanned_value,
3499
78.0k
                    "Unexpected '-' sign when parsing an "
3500
78.0k
                    "unsigned value");
3501
78.0k
            }
3502
78.0k
        }
3503
3504
78.0k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
156k
        SCN_TRY(after_digits_it,
3510
156k
                parse_integer_digits_without_thsep(
3511
156k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
156k
                    prefix_result.parsed_base));
3513
3514
156k
        auto buf = make_contiguous_buffer(
3515
156k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
156k
        SCN_TRY(result_it,
3517
72.9k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.9k
                                    prefix_result.parsed_base));
3519
3520
72.9k
        return ranges::next(prefix_result.iterator,
3521
72.9k
                            ranges::distance(buf.view().begin(), result_it));
3522
156k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
90.7k
    {
3492
90.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
90.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
90.7k
        if constexpr (!std::is_signed_v<T>) {
3496
90.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
90.7k
                return unexpected_scan_error(
3498
90.7k
                    scan_error::invalid_scanned_value,
3499
90.7k
                    "Unexpected '-' sign when parsing an "
3500
90.7k
                    "unsigned value");
3501
90.7k
            }
3502
90.7k
        }
3503
3504
90.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
181k
        SCN_TRY(after_digits_it,
3510
181k
                parse_integer_digits_without_thsep(
3511
181k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
181k
                    prefix_result.parsed_base));
3513
3514
181k
        auto buf = make_contiguous_buffer(
3515
181k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
181k
        SCN_TRY(result_it,
3517
85.3k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
85.3k
                                    prefix_result.parsed_base));
3519
3520
85.3k
        return ranges::next(prefix_result.iterator,
3521
85.3k
                            ranges::distance(buf.view().begin(), result_it));
3522
181k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
91.6k
    {
3492
91.6k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
91.6k
                                   .transform_error(make_eof_scan_error));
3494
3495
91.6k
        if constexpr (!std::is_signed_v<T>) {
3496
91.6k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
91.6k
                return unexpected_scan_error(
3498
91.6k
                    scan_error::invalid_scanned_value,
3499
91.6k
                    "Unexpected '-' sign when parsing an "
3500
91.6k
                    "unsigned value");
3501
91.6k
            }
3502
91.6k
        }
3503
3504
91.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
183k
        SCN_TRY(after_digits_it,
3510
183k
                parse_integer_digits_without_thsep(
3511
183k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
183k
                    prefix_result.parsed_base));
3513
3514
183k
        auto buf = make_contiguous_buffer(
3515
183k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
183k
        SCN_TRY(result_it,
3517
87.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
87.0k
                                    prefix_result.parsed_base));
3519
3520
87.0k
        return ranges::next(prefix_result.iterator,
3521
87.0k
                            ranges::distance(buf.view().begin(), result_it));
3522
183k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
69.4k
    {
3492
69.4k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
69.4k
                                   .transform_error(make_eof_scan_error));
3494
3495
69.4k
        if constexpr (!std::is_signed_v<T>) {
3496
69.4k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.15k
                return unexpected_scan_error(
3498
2.15k
                    scan_error::invalid_scanned_value,
3499
2.15k
                    "Unexpected '-' sign when parsing an "
3500
2.15k
                    "unsigned value");
3501
2.15k
            }
3502
69.4k
        }
3503
3504
67.2k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
134k
        SCN_TRY(after_digits_it,
3510
134k
                parse_integer_digits_without_thsep(
3511
134k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
134k
                    prefix_result.parsed_base));
3513
3514
134k
        auto buf = make_contiguous_buffer(
3515
134k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
134k
        SCN_TRY(result_it,
3517
64.1k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
64.1k
                                    prefix_result.parsed_base));
3519
3520
64.1k
        return ranges::next(prefix_result.iterator,
3521
64.1k
                            ranges::distance(buf.view().begin(), result_it));
3522
134k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
77.9k
    {
3492
77.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
77.9k
                                   .transform_error(make_eof_scan_error));
3494
3495
77.9k
        if constexpr (!std::is_signed_v<T>) {
3496
77.9k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.23k
                return unexpected_scan_error(
3498
2.23k
                    scan_error::invalid_scanned_value,
3499
2.23k
                    "Unexpected '-' sign when parsing an "
3500
2.23k
                    "unsigned value");
3501
2.23k
            }
3502
77.9k
        }
3503
3504
75.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
151k
        SCN_TRY(after_digits_it,
3510
151k
                parse_integer_digits_without_thsep(
3511
151k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
151k
                    prefix_result.parsed_base));
3513
3514
151k
        auto buf = make_contiguous_buffer(
3515
151k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
151k
        SCN_TRY(result_it,
3517
72.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.2k
                                    prefix_result.parsed_base));
3519
3520
72.2k
        return ranges::next(prefix_result.iterator,
3521
72.2k
                            ranges::distance(buf.view().begin(), result_it));
3522
151k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
78.2k
    {
3492
78.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.2k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.2k
        if constexpr (!std::is_signed_v<T>) {
3496
78.2k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.30k
                return unexpected_scan_error(
3498
2.30k
                    scan_error::invalid_scanned_value,
3499
2.30k
                    "Unexpected '-' sign when parsing an "
3500
2.30k
                    "unsigned value");
3501
2.30k
            }
3502
78.2k
        }
3503
3504
75.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
151k
        SCN_TRY(after_digits_it,
3510
151k
                parse_integer_digits_without_thsep(
3511
151k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
151k
                    prefix_result.parsed_base));
3513
3514
151k
        auto buf = make_contiguous_buffer(
3515
151k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
151k
        SCN_TRY(result_it,
3517
73.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
73.2k
                                    prefix_result.parsed_base));
3519
3520
73.2k
        return ranges::next(prefix_result.iterator,
3521
73.2k
                            ranges::distance(buf.view().begin(), result_it));
3522
151k
    }
3523
3524
    template <typename Range, typename T>
3525
    auto read_default(Range range, T& value, detail::locale_ref loc)
3526
        -> scan_expected<ranges::const_iterator_t<Range>>
3527
1.10M
    {
3528
1.10M
        SCN_UNUSED(loc);
3529
1.10M
        return read_default_with_base(range, value, 10);
3530
1.10M
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
78.0k
    {
3528
78.0k
        SCN_UNUSED(loc);
3529
78.0k
        return read_default_with_base(range, value, 10);
3530
78.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
90.7k
    {
3528
90.7k
        SCN_UNUSED(loc);
3529
90.7k
        return read_default_with_base(range, value, 10);
3530
90.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
91.6k
    {
3528
91.6k
        SCN_UNUSED(loc);
3529
91.6k
        return read_default_with_base(range, value, 10);
3530
91.6k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
69.4k
    {
3528
69.4k
        SCN_UNUSED(loc);
3529
69.4k
        return read_default_with_base(range, value, 10);
3530
69.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
77.9k
    {
3528
77.9k
        SCN_UNUSED(loc);
3529
77.9k
        return read_default_with_base(range, value, 10);
3530
77.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
78.2k
    {
3528
78.2k
        SCN_UNUSED(loc);
3529
78.2k
        return read_default_with_base(range, value, 10);
3530
78.2k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
78.0k
    {
3528
78.0k
        SCN_UNUSED(loc);
3529
78.0k
        return read_default_with_base(range, value, 10);
3530
78.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
88.4k
    {
3528
88.4k
        SCN_UNUSED(loc);
3529
88.4k
        return read_default_with_base(range, value, 10);
3530
88.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
89.9k
    {
3528
89.9k
        SCN_UNUSED(loc);
3529
89.9k
        return read_default_with_base(range, value, 10);
3530
89.9k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
69.3k
    {
3528
69.3k
        SCN_UNUSED(loc);
3529
69.3k
        return read_default_with_base(range, value, 10);
3530
69.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
77.1k
    {
3528
77.1k
        SCN_UNUSED(loc);
3529
77.1k
        return read_default_with_base(range, value, 10);
3530
77.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
78.0k
    {
3528
78.0k
        SCN_UNUSED(loc);
3529
78.0k
        return read_default_with_base(range, value, 10);
3530
78.0k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
12.2k
    {
3528
12.2k
        SCN_UNUSED(loc);
3529
12.2k
        return read_default_with_base(range, value, 10);
3530
12.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
12.2k
    {
3528
12.2k
        SCN_UNUSED(loc);
3529
12.2k
        return read_default_with_base(range, value, 10);
3530
12.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
3531
3532
    template <typename Range, typename T>
3533
    auto read_specs(Range range,
3534
                    const detail::format_specs& specs,
3535
                    T& value,
3536
                    detail::locale_ref loc)
3537
        -> scan_expected<ranges::const_iterator_t<Range>>
3538
3.92M
    {
3539
3.92M
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
3.92M
                                   .transform_error(make_eof_scan_error));
3541
3542
3.92M
        if (prefix_result.sign == sign_type::minus_sign) {
3543
204k
            if constexpr (!std::is_signed_v<T>) {
3544
152k
                return unexpected_scan_error(
3545
152k
                    scan_error::invalid_scanned_value,
3546
152k
                    "Unexpected '-' sign when parsing an "
3547
152k
                    "unsigned value");
3548
152k
            }
3549
152k
            else {
3550
152k
                if (specs.type ==
3551
152k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
152k
            }
3557
204k
        }
3558
3559
3.87M
        if (prefix_result.is_zero) {
3560
317k
            value = T{0};
3561
317k
            return std::next(prefix_result.iterator);
3562
317k
        }
3563
3564
3.55M
        if (SCN_LIKELY(!specs.localized)) {
3565
2.82M
            SCN_TRY(after_digits_it,
3566
2.52M
                    parse_integer_digits_without_thsep(
3567
2.52M
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
2.52M
                        prefix_result.parsed_base));
3569
3570
2.52M
            auto buf = make_contiguous_buffer(
3571
2.52M
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
2.52M
            SCN_TRY(result_it,
3573
2.19M
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
2.19M
                                        prefix_result.parsed_base));
3575
3576
2.19M
            return ranges::next(
3577
2.19M
                prefix_result.iterator,
3578
2.19M
                ranges::distance(buf.view().begin(), result_it));
3579
2.52M
        }
3580
3581
733k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
733k
            localized_number_formatting_options<CharT>{loc};
3586
733k
#endif
3587
3588
733k
        SCN_TRY(parse_digits_result,
3589
622k
                parse_integer_digits_with_thsep(
3590
622k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
622k
                    prefix_result.parsed_base, locale_options));
3592
622k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
622k
            parse_digits_result;
3594
3595
622k
        if (!thsep_indices.empty()) {
3596
9.11k
            if (auto e = check_thsep_grouping(
3597
9.11k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
9.11k
                    thsep_indices, locale_options.grouping);
3599
9.11k
                SCN_UNLIKELY(!e)) {
3600
4.49k
                return unexpected(e);
3601
4.49k
            }
3602
9.11k
        }
3603
3604
618k
        auto nothsep_source_view =
3605
618k
            std::basic_string_view<CharT>{nothsep_source};
3606
618k
        SCN_TRY(
3607
610k
            nothsep_source_it,
3608
610k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
610k
                                prefix_result.parsed_base));
3610
3611
610k
        return ranges::next(
3612
610k
            prefix_result.iterator,
3613
610k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
610k
                ranges::ssize(thsep_indices));
3615
618k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
245k
    {
3539
245k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
245k
                                   .transform_error(make_eof_scan_error));
3541
3542
245k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
23.8k
            if constexpr (!std::is_signed_v<T>) {
3544
23.8k
                return unexpected_scan_error(
3545
23.8k
                    scan_error::invalid_scanned_value,
3546
23.8k
                    "Unexpected '-' sign when parsing an "
3547
23.8k
                    "unsigned value");
3548
23.8k
            }
3549
23.8k
            else {
3550
23.8k
                if (specs.type ==
3551
23.8k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
23.8k
            }
3557
23.8k
        }
3558
3559
245k
        if (prefix_result.is_zero) {
3560
25.5k
            value = T{0};
3561
25.5k
            return std::next(prefix_result.iterator);
3562
25.5k
        }
3563
3564
219k
        if (SCN_LIKELY(!specs.localized)) {
3565
167k
            SCN_TRY(after_digits_it,
3566
156k
                    parse_integer_digits_without_thsep(
3567
156k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
156k
                        prefix_result.parsed_base));
3569
3570
156k
            auto buf = make_contiguous_buffer(
3571
156k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
156k
            SCN_TRY(result_it,
3573
150k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
150k
                                        prefix_result.parsed_base));
3575
3576
150k
            return ranges::next(
3577
150k
                prefix_result.iterator,
3578
150k
                ranges::distance(buf.view().begin(), result_it));
3579
156k
        }
3580
3581
52.3k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
52.3k
            localized_number_formatting_options<CharT>{loc};
3586
52.3k
#endif
3587
3588
52.3k
        SCN_TRY(parse_digits_result,
3589
50.8k
                parse_integer_digits_with_thsep(
3590
50.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
50.8k
                    prefix_result.parsed_base, locale_options));
3592
50.8k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
50.8k
            parse_digits_result;
3594
3595
50.8k
        if (!thsep_indices.empty()) {
3596
790
            if (auto e = check_thsep_grouping(
3597
790
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
790
                    thsep_indices, locale_options.grouping);
3599
790
                SCN_UNLIKELY(!e)) {
3600
396
                return unexpected(e);
3601
396
            }
3602
790
        }
3603
3604
50.4k
        auto nothsep_source_view =
3605
50.4k
            std::basic_string_view<CharT>{nothsep_source};
3606
50.4k
        SCN_TRY(
3607
48.9k
            nothsep_source_it,
3608
48.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.9k
                                prefix_result.parsed_base));
3610
3611
48.9k
        return ranges::next(
3612
48.9k
            prefix_result.iterator,
3613
48.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.9k
                ranges::ssize(thsep_indices));
3615
50.4k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
30
    {
3539
30
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
30
                                   .transform_error(make_eof_scan_error));
3541
3542
30
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
30
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
30
        if (SCN_LIKELY(!specs.localized)) {
3565
30
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
244k
    {
3539
244k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
244k
                                   .transform_error(make_eof_scan_error));
3541
3542
244k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
23.8k
            if constexpr (!std::is_signed_v<T>) {
3544
23.8k
                return unexpected_scan_error(
3545
23.8k
                    scan_error::invalid_scanned_value,
3546
23.8k
                    "Unexpected '-' sign when parsing an "
3547
23.8k
                    "unsigned value");
3548
23.8k
            }
3549
23.8k
            else {
3550
23.8k
                if (specs.type ==
3551
23.8k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
23.8k
            }
3557
23.8k
        }
3558
3559
244k
        if (prefix_result.is_zero) {
3560
25.3k
            value = T{0};
3561
25.3k
            return std::next(prefix_result.iterator);
3562
25.3k
        }
3563
3564
219k
        if (SCN_LIKELY(!specs.localized)) {
3565
167k
            SCN_TRY(after_digits_it,
3566
167k
                    parse_integer_digits_without_thsep(
3567
167k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
167k
                        prefix_result.parsed_base));
3569
3570
167k
            auto buf = make_contiguous_buffer(
3571
167k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
167k
            SCN_TRY(result_it,
3573
149k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
149k
                                        prefix_result.parsed_base));
3575
3576
149k
            return ranges::next(
3577
149k
                prefix_result.iterator,
3578
149k
                ranges::distance(buf.view().begin(), result_it));
3579
167k
        }
3580
3581
52.1k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
52.1k
            localized_number_formatting_options<CharT>{loc};
3586
52.1k
#endif
3587
3588
52.1k
        SCN_TRY(parse_digits_result,
3589
50.6k
                parse_integer_digits_with_thsep(
3590
50.6k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
50.6k
                    prefix_result.parsed_base, locale_options));
3592
50.6k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
50.6k
            parse_digits_result;
3594
3595
50.6k
        if (!thsep_indices.empty()) {
3596
788
            if (auto e = check_thsep_grouping(
3597
788
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
788
                    thsep_indices, locale_options.grouping);
3599
788
                SCN_UNLIKELY(!e)) {
3600
394
                return unexpected(e);
3601
394
            }
3602
788
        }
3603
3604
50.2k
        auto nothsep_source_view =
3605
50.2k
            std::basic_string_view<CharT>{nothsep_source};
3606
50.2k
        SCN_TRY(
3607
48.7k
            nothsep_source_it,
3608
48.7k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.7k
                                prefix_result.parsed_base));
3610
3611
48.7k
        return ranges::next(
3612
48.7k
            prefix_result.iterator,
3613
48.7k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.7k
                ranges::ssize(thsep_indices));
3615
50.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
318k
    {
3539
318k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
318k
                                   .transform_error(make_eof_scan_error));
3541
3542
318k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
25.3k
            if constexpr (!std::is_signed_v<T>) {
3544
25.3k
                return unexpected_scan_error(
3545
25.3k
                    scan_error::invalid_scanned_value,
3546
25.3k
                    "Unexpected '-' sign when parsing an "
3547
25.3k
                    "unsigned value");
3548
25.3k
            }
3549
25.3k
            else {
3550
25.3k
                if (specs.type ==
3551
25.3k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
25.3k
            }
3557
25.3k
        }
3558
3559
318k
        if (prefix_result.is_zero) {
3560
28.2k
            value = T{0};
3561
28.2k
            return std::next(prefix_result.iterator);
3562
28.2k
        }
3563
3564
290k
        if (SCN_LIKELY(!specs.localized)) {
3565
230k
            SCN_TRY(after_digits_it,
3566
217k
                    parse_integer_digits_without_thsep(
3567
217k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
217k
                        prefix_result.parsed_base));
3569
3570
217k
            auto buf = make_contiguous_buffer(
3571
217k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
217k
            SCN_TRY(result_it,
3573
213k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
213k
                                        prefix_result.parsed_base));
3575
3576
213k
            return ranges::next(
3577
213k
                prefix_result.iterator,
3578
213k
                ranges::distance(buf.view().begin(), result_it));
3579
217k
        }
3580
3581
60.2k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
60.2k
            localized_number_formatting_options<CharT>{loc};
3586
60.2k
#endif
3587
3588
60.2k
        SCN_TRY(parse_digits_result,
3589
58.3k
                parse_integer_digits_with_thsep(
3590
58.3k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
58.3k
                    prefix_result.parsed_base, locale_options));
3592
58.3k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
58.3k
            parse_digits_result;
3594
3595
58.3k
        if (!thsep_indices.empty()) {
3596
854
            if (auto e = check_thsep_grouping(
3597
854
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
854
                    thsep_indices, locale_options.grouping);
3599
854
                SCN_UNLIKELY(!e)) {
3600
460
                return unexpected(e);
3601
460
            }
3602
854
        }
3603
3604
57.9k
        auto nothsep_source_view =
3605
57.9k
            std::basic_string_view<CharT>{nothsep_source};
3606
57.9k
        SCN_TRY(
3607
57.1k
            nothsep_source_it,
3608
57.1k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
57.1k
                                prefix_result.parsed_base));
3610
3611
57.1k
        return ranges::next(
3612
57.1k
            prefix_result.iterator,
3613
57.1k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
57.1k
                ranges::ssize(thsep_indices));
3615
57.9k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
272
    {
3539
272
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
272
                                   .transform_error(make_eof_scan_error));
3541
3542
272
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
272
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
272
        if (SCN_LIKELY(!specs.localized)) {
3565
264
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
8
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
8
            localized_number_formatting_options<CharT>{loc};
3586
8
#endif
3587
3588
8
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
317k
    {
3539
317k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
317k
                                   .transform_error(make_eof_scan_error));
3541
3542
317k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
25.3k
            if constexpr (!std::is_signed_v<T>) {
3544
25.3k
                return unexpected_scan_error(
3545
25.3k
                    scan_error::invalid_scanned_value,
3546
25.3k
                    "Unexpected '-' sign when parsing an "
3547
25.3k
                    "unsigned value");
3548
25.3k
            }
3549
25.3k
            else {
3550
25.3k
                if (specs.type ==
3551
25.3k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
25.3k
            }
3557
25.3k
        }
3558
3559
317k
        if (prefix_result.is_zero) {
3560
27.8k
            value = T{0};
3561
27.8k
            return std::next(prefix_result.iterator);
3562
27.8k
        }
3563
3564
289k
        if (SCN_LIKELY(!specs.localized)) {
3565
229k
            SCN_TRY(after_digits_it,
3566
228k
                    parse_integer_digits_without_thsep(
3567
228k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
228k
                        prefix_result.parsed_base));
3569
3570
228k
            auto buf = make_contiguous_buffer(
3571
228k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
228k
            SCN_TRY(result_it,
3573
212k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
212k
                                        prefix_result.parsed_base));
3575
3576
212k
            return ranges::next(
3577
212k
                prefix_result.iterator,
3578
212k
                ranges::distance(buf.view().begin(), result_it));
3579
228k
        }
3580
3581
60.0k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
60.0k
            localized_number_formatting_options<CharT>{loc};
3586
60.0k
#endif
3587
3588
60.0k
        SCN_TRY(parse_digits_result,
3589
58.1k
                parse_integer_digits_with_thsep(
3590
58.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
58.1k
                    prefix_result.parsed_base, locale_options));
3592
58.1k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
58.1k
            parse_digits_result;
3594
3595
58.1k
        if (!thsep_indices.empty()) {
3596
850
            if (auto e = check_thsep_grouping(
3597
850
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
850
                    thsep_indices, locale_options.grouping);
3599
850
                SCN_UNLIKELY(!e)) {
3600
456
                return unexpected(e);
3601
456
            }
3602
850
        }
3603
3604
57.6k
        auto nothsep_source_view =
3605
57.6k
            std::basic_string_view<CharT>{nothsep_source};
3606
57.6k
        SCN_TRY(
3607
56.9k
            nothsep_source_it,
3608
56.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
56.9k
                                prefix_result.parsed_base));
3610
3611
56.9k
        return ranges::next(
3612
56.9k
            prefix_result.iterator,
3613
56.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
56.9k
                ranges::ssize(thsep_indices));
3615
57.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
324k
    {
3539
324k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
324k
                                   .transform_error(make_eof_scan_error));
3541
3542
324k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
26.4k
            if constexpr (!std::is_signed_v<T>) {
3544
26.4k
                return unexpected_scan_error(
3545
26.4k
                    scan_error::invalid_scanned_value,
3546
26.4k
                    "Unexpected '-' sign when parsing an "
3547
26.4k
                    "unsigned value");
3548
26.4k
            }
3549
26.4k
            else {
3550
26.4k
                if (specs.type ==
3551
26.4k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
26.4k
            }
3557
26.4k
        }
3558
3559
324k
        if (prefix_result.is_zero) {
3560
28.5k
            value = T{0};
3561
28.5k
            return std::next(prefix_result.iterator);
3562
28.5k
        }
3563
3564
295k
        if (SCN_LIKELY(!specs.localized)) {
3565
234k
            SCN_TRY(after_digits_it,
3566
220k
                    parse_integer_digits_without_thsep(
3567
220k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
220k
                        prefix_result.parsed_base));
3569
3570
220k
            auto buf = make_contiguous_buffer(
3571
220k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
220k
            SCN_TRY(result_it,
3573
218k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
218k
                                        prefix_result.parsed_base));
3575
3576
218k
            return ranges::next(
3577
218k
                prefix_result.iterator,
3578
218k
                ranges::distance(buf.view().begin(), result_it));
3579
220k
        }
3580
3581
61.2k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
61.2k
            localized_number_formatting_options<CharT>{loc};
3586
61.2k
#endif
3587
3588
61.2k
        SCN_TRY(parse_digits_result,
3589
59.2k
                parse_integer_digits_with_thsep(
3590
59.2k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
59.2k
                    prefix_result.parsed_base, locale_options));
3592
59.2k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
59.2k
            parse_digits_result;
3594
3595
59.2k
        if (!thsep_indices.empty()) {
3596
914
            if (auto e = check_thsep_grouping(
3597
914
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
914
                    thsep_indices, locale_options.grouping);
3599
914
                SCN_UNLIKELY(!e)) {
3600
518
                return unexpected(e);
3601
518
            }
3602
914
        }
3603
3604
58.7k
        auto nothsep_source_view =
3605
58.7k
            std::basic_string_view<CharT>{nothsep_source};
3606
58.7k
        SCN_TRY(
3607
58.2k
            nothsep_source_it,
3608
58.2k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
58.2k
                                prefix_result.parsed_base));
3610
3611
58.2k
        return ranges::next(
3612
58.2k
            prefix_result.iterator,
3613
58.2k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
58.2k
                ranges::ssize(thsep_indices));
3615
58.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
322k
    {
3539
322k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
322k
                                   .transform_error(make_eof_scan_error));
3541
3542
322k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
26.4k
            if constexpr (!std::is_signed_v<T>) {
3544
26.4k
                return unexpected_scan_error(
3545
26.4k
                    scan_error::invalid_scanned_value,
3546
26.4k
                    "Unexpected '-' sign when parsing an "
3547
26.4k
                    "unsigned value");
3548
26.4k
            }
3549
26.4k
            else {
3550
26.4k
                if (specs.type ==
3551
26.4k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
26.4k
            }
3557
26.4k
        }
3558
3559
322k
        if (prefix_result.is_zero) {
3560
28.1k
            value = T{0};
3561
28.1k
            return std::next(prefix_result.iterator);
3562
28.1k
        }
3563
3564
294k
        if (SCN_LIKELY(!specs.localized)) {
3565
233k
            SCN_TRY(after_digits_it,
3566
233k
                    parse_integer_digits_without_thsep(
3567
233k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
233k
                        prefix_result.parsed_base));
3569
3570
233k
            auto buf = make_contiguous_buffer(
3571
233k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
233k
            SCN_TRY(result_it,
3573
217k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
217k
                                        prefix_result.parsed_base));
3575
3576
217k
            return ranges::next(
3577
217k
                prefix_result.iterator,
3578
217k
                ranges::distance(buf.view().begin(), result_it));
3579
233k
        }
3580
3581
61.0k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
61.0k
            localized_number_formatting_options<CharT>{loc};
3586
61.0k
#endif
3587
3588
61.0k
        SCN_TRY(parse_digits_result,
3589
58.9k
                parse_integer_digits_with_thsep(
3590
58.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
58.9k
                    prefix_result.parsed_base, locale_options));
3592
58.9k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
58.9k
            parse_digits_result;
3594
3595
58.9k
        if (!thsep_indices.empty()) {
3596
910
            if (auto e = check_thsep_grouping(
3597
910
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
910
                    thsep_indices, locale_options.grouping);
3599
910
                SCN_UNLIKELY(!e)) {
3600
514
                return unexpected(e);
3601
514
            }
3602
910
        }
3603
3604
58.4k
        auto nothsep_source_view =
3605
58.4k
            std::basic_string_view<CharT>{nothsep_source};
3606
58.4k
        SCN_TRY(
3607
57.9k
            nothsep_source_it,
3608
57.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
57.9k
                                prefix_result.parsed_base));
3610
3611
57.9k
        return ranges::next(
3612
57.9k
            prefix_result.iterator,
3613
57.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
57.9k
                ranges::ssize(thsep_indices));
3615
58.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
241k
    {
3539
241k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
241k
                                   .transform_error(make_eof_scan_error));
3541
3542
241k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.01k
            if constexpr (!std::is_signed_v<T>) {
3544
8.01k
                return unexpected_scan_error(
3545
8.01k
                    scan_error::invalid_scanned_value,
3546
8.01k
                    "Unexpected '-' sign when parsing an "
3547
8.01k
                    "unsigned value");
3548
8.01k
            }
3549
8.01k
            else {
3550
8.01k
                if (specs.type ==
3551
8.01k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.01k
                    return unexpected_scan_error(
3553
8.01k
                        scan_error::invalid_scanned_value,
3554
8.01k
                        "'u'-option disallows negative values");
3555
8.01k
                }
3556
8.01k
            }
3557
8.01k
        }
3558
3559
233k
        if (prefix_result.is_zero) {
3560
24.3k
            value = T{0};
3561
24.3k
            return std::next(prefix_result.iterator);
3562
24.3k
        }
3563
3564
208k
        if (SCN_LIKELY(!specs.localized)) {
3565
163k
            SCN_TRY(after_digits_it,
3566
155k
                    parse_integer_digits_without_thsep(
3567
155k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
155k
                        prefix_result.parsed_base));
3569
3570
155k
            auto buf = make_contiguous_buffer(
3571
155k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
155k
            SCN_TRY(result_it,
3573
152k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
152k
                                        prefix_result.parsed_base));
3575
3576
152k
            return ranges::next(
3577
152k
                prefix_result.iterator,
3578
152k
                ranges::distance(buf.view().begin(), result_it));
3579
155k
        }
3580
3581
45.1k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
45.1k
            localized_number_formatting_options<CharT>{loc};
3586
45.1k
#endif
3587
3588
45.1k
        SCN_TRY(parse_digits_result,
3589
44.1k
                parse_integer_digits_with_thsep(
3590
44.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
44.1k
                    prefix_result.parsed_base, locale_options));
3592
44.1k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
44.1k
            parse_digits_result;
3594
3595
44.1k
        if (!thsep_indices.empty()) {
3596
596
            if (auto e = check_thsep_grouping(
3597
596
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
596
                    thsep_indices, locale_options.grouping);
3599
596
                SCN_UNLIKELY(!e)) {
3600
220
                return unexpected(e);
3601
220
            }
3602
596
        }
3603
3604
43.8k
        auto nothsep_source_view =
3605
43.8k
            std::basic_string_view<CharT>{nothsep_source};
3606
43.8k
        SCN_TRY(
3607
43.1k
            nothsep_source_it,
3608
43.1k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
43.1k
                                prefix_result.parsed_base));
3610
3611
43.1k
        return ranges::next(
3612
43.1k
            prefix_result.iterator,
3613
43.1k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
43.1k
                ranges::ssize(thsep_indices));
3615
43.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
240k
    {
3539
240k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
240k
                                   .transform_error(make_eof_scan_error));
3541
3542
240k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.00k
            if constexpr (!std::is_signed_v<T>) {
3544
8.00k
                return unexpected_scan_error(
3545
8.00k
                    scan_error::invalid_scanned_value,
3546
8.00k
                    "Unexpected '-' sign when parsing an "
3547
8.00k
                    "unsigned value");
3548
8.00k
            }
3549
8.00k
            else {
3550
8.00k
                if (specs.type ==
3551
8.00k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.00k
                    return unexpected_scan_error(
3553
8.00k
                        scan_error::invalid_scanned_value,
3554
8.00k
                        "'u'-option disallows negative values");
3555
8.00k
                }
3556
8.00k
            }
3557
8.00k
        }
3558
3559
232k
        if (prefix_result.is_zero) {
3560
24.0k
            value = T{0};
3561
24.0k
            return std::next(prefix_result.iterator);
3562
24.0k
        }
3563
3564
208k
        if (SCN_LIKELY(!specs.localized)) {
3565
163k
            SCN_TRY(after_digits_it,
3566
163k
                    parse_integer_digits_without_thsep(
3567
163k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
163k
                        prefix_result.parsed_base));
3569
3570
163k
            auto buf = make_contiguous_buffer(
3571
163k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
163k
            SCN_TRY(result_it,
3573
152k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
152k
                                        prefix_result.parsed_base));
3575
3576
152k
            return ranges::next(
3577
152k
                prefix_result.iterator,
3578
152k
                ranges::distance(buf.view().begin(), result_it));
3579
163k
        }
3580
3581
44.9k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
44.9k
            localized_number_formatting_options<CharT>{loc};
3586
44.9k
#endif
3587
3588
44.9k
        SCN_TRY(parse_digits_result,
3589
43.9k
                parse_integer_digits_with_thsep(
3590
43.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
43.9k
                    prefix_result.parsed_base, locale_options));
3592
43.9k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
43.9k
            parse_digits_result;
3594
3595
43.9k
        if (!thsep_indices.empty()) {
3596
594
            if (auto e = check_thsep_grouping(
3597
594
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
594
                    thsep_indices, locale_options.grouping);
3599
594
                SCN_UNLIKELY(!e)) {
3600
218
                return unexpected(e);
3601
218
            }
3602
594
        }
3603
3604
43.6k
        auto nothsep_source_view =
3605
43.6k
            std::basic_string_view<CharT>{nothsep_source};
3606
43.6k
        SCN_TRY(
3607
42.9k
            nothsep_source_it,
3608
42.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
42.9k
                                prefix_result.parsed_base));
3610
3611
42.9k
        return ranges::next(
3612
42.9k
            prefix_result.iterator,
3613
42.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
42.9k
                ranges::ssize(thsep_indices));
3615
43.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
274k
    {
3539
274k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
274k
                                   .transform_error(make_eof_scan_error));
3541
3542
274k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.27k
            if constexpr (!std::is_signed_v<T>) {
3544
8.27k
                return unexpected_scan_error(
3545
8.27k
                    scan_error::invalid_scanned_value,
3546
8.27k
                    "Unexpected '-' sign when parsing an "
3547
8.27k
                    "unsigned value");
3548
8.27k
            }
3549
8.27k
            else {
3550
8.27k
                if (specs.type ==
3551
8.27k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.27k
                    return unexpected_scan_error(
3553
8.27k
                        scan_error::invalid_scanned_value,
3554
8.27k
                        "'u'-option disallows negative values");
3555
8.27k
                }
3556
8.27k
            }
3557
8.27k
        }
3558
3559
266k
        if (prefix_result.is_zero) {
3560
26.2k
            value = T{0};
3561
26.2k
            return std::next(prefix_result.iterator);
3562
26.2k
        }
3563
3564
240k
        if (SCN_LIKELY(!specs.localized)) {
3565
189k
            SCN_TRY(after_digits_it,
3566
180k
                    parse_integer_digits_without_thsep(
3567
180k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
180k
                        prefix_result.parsed_base));
3569
3570
180k
            auto buf = make_contiguous_buffer(
3571
180k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
180k
            SCN_TRY(result_it,
3573
179k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
179k
                                        prefix_result.parsed_base));
3575
3576
179k
            return ranges::next(
3577
179k
                prefix_result.iterator,
3578
179k
                ranges::distance(buf.view().begin(), result_it));
3579
180k
        }
3580
3581
50.3k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.3k
            localized_number_formatting_options<CharT>{loc};
3586
50.3k
#endif
3587
3588
50.3k
        SCN_TRY(parse_digits_result,
3589
49.1k
                parse_integer_digits_with_thsep(
3590
49.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
49.1k
                    prefix_result.parsed_base, locale_options));
3592
49.1k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
49.1k
            parse_digits_result;
3594
3595
49.1k
        if (!thsep_indices.empty()) {
3596
644
            if (auto e = check_thsep_grouping(
3597
644
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
644
                    thsep_indices, locale_options.grouping);
3599
644
                SCN_UNLIKELY(!e)) {
3600
268
                return unexpected(e);
3601
268
            }
3602
644
        }
3603
3604
48.8k
        auto nothsep_source_view =
3605
48.8k
            std::basic_string_view<CharT>{nothsep_source};
3606
48.8k
        SCN_TRY(
3607
48.4k
            nothsep_source_it,
3608
48.4k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.4k
                                prefix_result.parsed_base));
3610
3611
48.4k
        return ranges::next(
3612
48.4k
            prefix_result.iterator,
3613
48.4k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.4k
                ranges::ssize(thsep_indices));
3615
48.8k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
272
    {
3539
272
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
272
                                   .transform_error(make_eof_scan_error));
3541
3542
272
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
272
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
272
        if (SCN_LIKELY(!specs.localized)) {
3565
264
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
8
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
8
            localized_number_formatting_options<CharT>{loc};
3586
8
#endif
3587
3588
8
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
273k
    {
3539
273k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
273k
                                   .transform_error(make_eof_scan_error));
3541
3542
273k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.26k
            if constexpr (!std::is_signed_v<T>) {
3544
8.26k
                return unexpected_scan_error(
3545
8.26k
                    scan_error::invalid_scanned_value,
3546
8.26k
                    "Unexpected '-' sign when parsing an "
3547
8.26k
                    "unsigned value");
3548
8.26k
            }
3549
8.26k
            else {
3550
8.26k
                if (specs.type ==
3551
8.26k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.26k
                    return unexpected_scan_error(
3553
8.26k
                        scan_error::invalid_scanned_value,
3554
8.26k
                        "'u'-option disallows negative values");
3555
8.26k
                }
3556
8.26k
            }
3557
8.26k
        }
3558
3559
265k
        if (prefix_result.is_zero) {
3560
25.9k
            value = T{0};
3561
25.9k
            return std::next(prefix_result.iterator);
3562
25.9k
        }
3563
3564
239k
        if (SCN_LIKELY(!specs.localized)) {
3565
189k
            SCN_TRY(after_digits_it,
3566
189k
                    parse_integer_digits_without_thsep(
3567
189k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
189k
                        prefix_result.parsed_base));
3569
3570
189k
            auto buf = make_contiguous_buffer(
3571
189k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
189k
            SCN_TRY(result_it,
3573
178k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
178k
                                        prefix_result.parsed_base));
3575
3576
178k
            return ranges::next(
3577
178k
                prefix_result.iterator,
3578
178k
                ranges::distance(buf.view().begin(), result_it));
3579
189k
        }
3580
3581
50.1k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.1k
            localized_number_formatting_options<CharT>{loc};
3586
50.1k
#endif
3587
3588
50.1k
        SCN_TRY(parse_digits_result,
3589
48.8k
                parse_integer_digits_with_thsep(
3590
48.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
48.8k
                    prefix_result.parsed_base, locale_options));
3592
48.8k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
48.8k
            parse_digits_result;
3594
3595
48.8k
        if (!thsep_indices.empty()) {
3596
640
            if (auto e = check_thsep_grouping(
3597
640
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
640
                    thsep_indices, locale_options.grouping);
3599
640
                SCN_UNLIKELY(!e)) {
3600
264
                return unexpected(e);
3601
264
            }
3602
640
        }
3603
3604
48.6k
        auto nothsep_source_view =
3605
48.6k
            std::basic_string_view<CharT>{nothsep_source};
3606
48.6k
        SCN_TRY(
3607
48.2k
            nothsep_source_it,
3608
48.2k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.2k
                                prefix_result.parsed_base));
3610
3611
48.2k
        return ranges::next(
3612
48.2k
            prefix_result.iterator,
3613
48.2k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.2k
                ranges::ssize(thsep_indices));
3615
48.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
244
    {
3539
244
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
244
                                   .transform_error(make_eof_scan_error));
3541
3542
244
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
244
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
244
        if (SCN_LIKELY(!specs.localized)) {
3565
244
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
854
    {
3539
854
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
854
                                   .transform_error(make_eof_scan_error));
3541
3542
854
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
854
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
854
        if (SCN_LIKELY(!specs.localized)) {
3565
854
            SCN_TRY(after_digits_it,
3566
854
                    parse_integer_digits_without_thsep(
3567
854
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
854
                        prefix_result.parsed_base));
3569
3570
854
            auto buf = make_contiguous_buffer(
3571
854
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
854
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
854
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
277k
    {
3539
277k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
277k
                                   .transform_error(make_eof_scan_error));
3541
3542
277k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.46k
            if constexpr (!std::is_signed_v<T>) {
3544
8.46k
                return unexpected_scan_error(
3545
8.46k
                    scan_error::invalid_scanned_value,
3546
8.46k
                    "Unexpected '-' sign when parsing an "
3547
8.46k
                    "unsigned value");
3548
8.46k
            }
3549
8.46k
            else {
3550
8.46k
                if (specs.type ==
3551
8.46k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.46k
                    return unexpected_scan_error(
3553
8.46k
                        scan_error::invalid_scanned_value,
3554
8.46k
                        "'u'-option disallows negative values");
3555
8.46k
                }
3556
8.46k
            }
3557
8.46k
        }
3558
3559
269k
        if (prefix_result.is_zero) {
3560
26.3k
            value = T{0};
3561
26.3k
            return std::next(prefix_result.iterator);
3562
26.3k
        }
3563
3564
242k
        if (SCN_LIKELY(!specs.localized)) {
3565
191k
            SCN_TRY(after_digits_it,
3566
182k
                    parse_integer_digits_without_thsep(
3567
182k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
182k
                        prefix_result.parsed_base));
3569
3570
182k
            auto buf = make_contiguous_buffer(
3571
182k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
182k
            SCN_TRY(result_it,
3573
181k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
181k
                                        prefix_result.parsed_base));
3575
3576
181k
            return ranges::next(
3577
181k
                prefix_result.iterator,
3578
181k
                ranges::distance(buf.view().begin(), result_it));
3579
182k
        }
3580
3581
50.9k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.9k
            localized_number_formatting_options<CharT>{loc};
3586
50.9k
#endif
3587
3588
50.9k
        SCN_TRY(parse_digits_result,
3589
49.6k
                parse_integer_digits_with_thsep(
3590
49.6k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
49.6k
                    prefix_result.parsed_base, locale_options));
3592
49.6k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
49.6k
            parse_digits_result;
3594
3595
49.6k
        if (!thsep_indices.empty()) {
3596
644
            if (auto e = check_thsep_grouping(
3597
644
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
644
                    thsep_indices, locale_options.grouping);
3599
644
                SCN_UNLIKELY(!e)) {
3600
268
                return unexpected(e);
3601
268
            }
3602
644
        }
3603
3604
49.3k
        auto nothsep_source_view =
3605
49.3k
            std::basic_string_view<CharT>{nothsep_source};
3606
49.3k
        SCN_TRY(
3607
49.1k
            nothsep_source_it,
3608
49.1k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
49.1k
                                prefix_result.parsed_base));
3610
3611
49.1k
        return ranges::next(
3612
49.1k
            prefix_result.iterator,
3613
49.1k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
49.1k
                ranges::ssize(thsep_indices));
3615
49.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
276k
    {
3539
276k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
276k
                                   .transform_error(make_eof_scan_error));
3541
3542
276k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.44k
            if constexpr (!std::is_signed_v<T>) {
3544
8.44k
                return unexpected_scan_error(
3545
8.44k
                    scan_error::invalid_scanned_value,
3546
8.44k
                    "Unexpected '-' sign when parsing an "
3547
8.44k
                    "unsigned value");
3548
8.44k
            }
3549
8.44k
            else {
3550
8.44k
                if (specs.type ==
3551
8.44k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.44k
                    return unexpected_scan_error(
3553
8.44k
                        scan_error::invalid_scanned_value,
3554
8.44k
                        "'u'-option disallows negative values");
3555
8.44k
                }
3556
8.44k
            }
3557
8.44k
        }
3558
3559
267k
        if (prefix_result.is_zero) {
3560
26.0k
            value = T{0};
3561
26.0k
            return std::next(prefix_result.iterator);
3562
26.0k
        }
3563
3564
241k
        if (SCN_LIKELY(!specs.localized)) {
3565
190k
            SCN_TRY(after_digits_it,
3566
190k
                    parse_integer_digits_without_thsep(
3567
190k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
190k
                        prefix_result.parsed_base));
3569
3570
190k
            auto buf = make_contiguous_buffer(
3571
190k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
190k
            SCN_TRY(result_it,
3573
180k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
180k
                                        prefix_result.parsed_base));
3575
3576
180k
            return ranges::next(
3577
180k
                prefix_result.iterator,
3578
180k
                ranges::distance(buf.view().begin(), result_it));
3579
190k
        }
3580
3581
50.7k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.7k
            localized_number_formatting_options<CharT>{loc};
3586
50.7k
#endif
3587
3588
50.7k
        SCN_TRY(parse_digits_result,
3589
49.4k
                parse_integer_digits_with_thsep(
3590
49.4k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
49.4k
                    prefix_result.parsed_base, locale_options));
3592
49.4k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
49.4k
            parse_digits_result;
3594
3595
49.4k
        if (!thsep_indices.empty()) {
3596
640
            if (auto e = check_thsep_grouping(
3597
640
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
640
                    thsep_indices, locale_options.grouping);
3599
640
                SCN_UNLIKELY(!e)) {
3600
264
                return unexpected(e);
3601
264
            }
3602
640
        }
3603
3604
49.1k
        auto nothsep_source_view =
3605
49.1k
            std::basic_string_view<CharT>{nothsep_source};
3606
49.1k
        SCN_TRY(
3607
48.9k
            nothsep_source_it,
3608
48.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.9k
                                prefix_result.parsed_base));
3610
3611
48.9k
        return ranges::next(
3612
48.9k
            prefix_result.iterator,
3613
48.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.9k
                ranges::ssize(thsep_indices));
3615
49.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.9k
    {
3539
46.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.9k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
276
            }
3557
276
        }
3558
3559
46.9k
        if (prefix_result.is_zero) {
3560
44
            value = T{0};
3561
44
            return std::next(prefix_result.iterator);
3562
44
        }
3563
3564
46.8k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.0k
            SCN_TRY(after_digits_it,
3566
464
                    parse_integer_digits_without_thsep(
3567
464
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
464
                        prefix_result.parsed_base));
3569
3570
464
            auto buf = make_contiguous_buffer(
3571
464
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
464
            SCN_TRY(result_it,
3573
408
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
408
                                        prefix_result.parsed_base));
3575
3576
408
            return ranges::next(
3577
408
                prefix_result.iterator,
3578
408
                ranges::distance(buf.view().begin(), result_it));
3579
464
        }
3580
3581
7.81k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.81k
            localized_number_formatting_options<CharT>{loc};
3586
7.81k
#endif
3587
3588
7.81k
        SCN_TRY(parse_digits_result,
3589
132
                parse_integer_digits_with_thsep(
3590
132
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
132
                    prefix_result.parsed_base, locale_options));
3592
132
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
132
            parse_digits_result;
3594
3595
132
        if (!thsep_indices.empty()) {
3596
22
            if (auto e = check_thsep_grouping(
3597
22
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
22
                    thsep_indices, locale_options.grouping);
3599
22
                SCN_UNLIKELY(!e)) {
3600
22
                return unexpected(e);
3601
22
            }
3602
22
        }
3603
3604
110
        auto nothsep_source_view =
3605
110
            std::basic_string_view<CharT>{nothsep_source};
3606
110
        SCN_TRY(
3607
94
            nothsep_source_it,
3608
94
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
94
                                prefix_result.parsed_base));
3610
3611
94
        return ranges::next(
3612
94
            prefix_result.iterator,
3613
94
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
94
                ranges::ssize(thsep_indices));
3615
110
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
136
    {
3539
136
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
136
                                   .transform_error(make_eof_scan_error));
3541
3542
136
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
136
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
136
        if (SCN_LIKELY(!specs.localized)) {
3565
130
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
6
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
6
            localized_number_formatting_options<CharT>{loc};
3586
6
#endif
3587
3588
6
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
47.2k
    {
3539
47.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.2k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.2k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
276
            }
3557
276
        }
3558
3559
47.2k
        if (prefix_result.is_zero) {
3560
44
            value = T{0};
3561
44
            return std::next(prefix_result.iterator);
3562
44
        }
3563
3564
47.2k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.3k
            SCN_TRY(after_digits_it,
3566
39.3k
                    parse_integer_digits_without_thsep(
3567
39.3k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
39.3k
                        prefix_result.parsed_base));
3569
3570
39.3k
            auto buf = make_contiguous_buffer(
3571
39.3k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
39.3k
            SCN_TRY(result_it,
3573
408
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
408
                                        prefix_result.parsed_base));
3575
3576
408
            return ranges::next(
3577
408
                prefix_result.iterator,
3578
408
                ranges::distance(buf.view().begin(), result_it));
3579
39.3k
        }
3580
3581
7.83k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.83k
            localized_number_formatting_options<CharT>{loc};
3586
7.83k
#endif
3587
3588
7.83k
        SCN_TRY(parse_digits_result,
3589
132
                parse_integer_digits_with_thsep(
3590
132
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
132
                    prefix_result.parsed_base, locale_options));
3592
132
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
132
            parse_digits_result;
3594
3595
132
        if (!thsep_indices.empty()) {
3596
22
            if (auto e = check_thsep_grouping(
3597
22
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
22
                    thsep_indices, locale_options.grouping);
3599
22
                SCN_UNLIKELY(!e)) {
3600
22
                return unexpected(e);
3601
22
            }
3602
22
        }
3603
3604
110
        auto nothsep_source_view =
3605
110
            std::basic_string_view<CharT>{nothsep_source};
3606
110
        SCN_TRY(
3607
94
            nothsep_source_it,
3608
94
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
94
                                prefix_result.parsed_base));
3610
3611
94
        return ranges::next(
3612
94
            prefix_result.iterator,
3613
94
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
94
                ranges::ssize(thsep_indices));
3615
110
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
266
            if constexpr (!std::is_signed_v<T>) {
3544
266
                return unexpected_scan_error(
3545
266
                    scan_error::invalid_scanned_value,
3546
266
                    "Unexpected '-' sign when parsing an "
3547
266
                    "unsigned value");
3548
266
            }
3549
266
            else {
3550
266
                if (specs.type ==
3551
266
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
266
            }
3557
266
        }
3558
3559
46.8k
        if (prefix_result.is_zero) {
3560
42
            value = T{0};
3561
42
            return std::next(prefix_result.iterator);
3562
42
        }
3563
3564
46.7k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.9k
            SCN_TRY(after_digits_it,
3566
452
                    parse_integer_digits_without_thsep(
3567
452
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
452
                        prefix_result.parsed_base));
3569
3570
452
            auto buf = make_contiguous_buffer(
3571
452
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
452
            SCN_TRY(result_it,
3573
344
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
344
                                        prefix_result.parsed_base));
3575
3576
344
            return ranges::next(
3577
344
                prefix_result.iterator,
3578
344
                ranges::distance(buf.view().begin(), result_it));
3579
452
        }
3580
3581
7.80k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.80k
            localized_number_formatting_options<CharT>{loc};
3586
7.80k
#endif
3587
3588
7.80k
        SCN_TRY(parse_digits_result,
3589
128
                parse_integer_digits_with_thsep(
3590
128
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
128
                    prefix_result.parsed_base, locale_options));
3592
128
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
128
            parse_digits_result;
3594
3595
128
        if (!thsep_indices.empty()) {
3596
22
            if (auto e = check_thsep_grouping(
3597
22
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
22
                    thsep_indices, locale_options.grouping);
3599
22
                SCN_UNLIKELY(!e)) {
3600
22
                return unexpected(e);
3601
22
            }
3602
22
        }
3603
3604
106
        auto nothsep_source_view =
3605
106
            std::basic_string_view<CharT>{nothsep_source};
3606
106
        SCN_TRY(
3607
74
            nothsep_source_it,
3608
74
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
74
                                prefix_result.parsed_base));
3610
3611
74
        return ranges::next(
3612
74
            prefix_result.iterator,
3613
74
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
74
                ranges::ssize(thsep_indices));
3615
106
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
266
            if constexpr (!std::is_signed_v<T>) {
3544
266
                return unexpected_scan_error(
3545
266
                    scan_error::invalid_scanned_value,
3546
266
                    "Unexpected '-' sign when parsing an "
3547
266
                    "unsigned value");
3548
266
            }
3549
266
            else {
3550
266
                if (specs.type ==
3551
266
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
266
            }
3557
266
        }
3558
3559
46.8k
        if (prefix_result.is_zero) {
3560
42
            value = T{0};
3561
42
            return std::next(prefix_result.iterator);
3562
42
        }
3563
3564
46.7k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.9k
            SCN_TRY(after_digits_it,
3566
38.9k
                    parse_integer_digits_without_thsep(
3567
38.9k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
38.9k
                        prefix_result.parsed_base));
3569
3570
38.9k
            auto buf = make_contiguous_buffer(
3571
38.9k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
38.9k
            SCN_TRY(result_it,
3573
344
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
344
                                        prefix_result.parsed_base));
3575
3576
344
            return ranges::next(
3577
344
                prefix_result.iterator,
3578
344
                ranges::distance(buf.view().begin(), result_it));
3579
38.9k
        }
3580
3581
7.80k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.80k
            localized_number_formatting_options<CharT>{loc};
3586
7.80k
#endif
3587
3588
7.80k
        SCN_TRY(parse_digits_result,
3589
128
                parse_integer_digits_with_thsep(
3590
128
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
128
                    prefix_result.parsed_base, locale_options));
3592
128
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
128
            parse_digits_result;
3594
3595
128
        if (!thsep_indices.empty()) {
3596
22
            if (auto e = check_thsep_grouping(
3597
22
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
22
                    thsep_indices, locale_options.grouping);
3599
22
                SCN_UNLIKELY(!e)) {
3600
22
                return unexpected(e);
3601
22
            }
3602
22
        }
3603
3604
106
        auto nothsep_source_view =
3605
106
            std::basic_string_view<CharT>{nothsep_source};
3606
106
        SCN_TRY(
3607
74
            nothsep_source_it,
3608
74
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
74
                                prefix_result.parsed_base));
3610
3611
74
        return ranges::next(
3612
74
            prefix_result.iterator,
3613
74
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
74
                ranges::ssize(thsep_indices));
3615
106
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
47.0k
    {
3539
47.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.0k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
292
            if constexpr (!std::is_signed_v<T>) {
3544
292
                return unexpected_scan_error(
3545
292
                    scan_error::invalid_scanned_value,
3546
292
                    "Unexpected '-' sign when parsing an "
3547
292
                    "unsigned value");
3548
292
            }
3549
292
            else {
3550
292
                if (specs.type ==
3551
292
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
292
            }
3557
292
        }
3558
3559
47.0k
        if (prefix_result.is_zero) {
3560
50
            value = T{0};
3561
50
            return std::next(prefix_result.iterator);
3562
50
        }
3563
3564
46.9k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.1k
            SCN_TRY(after_digits_it,
3566
494
                    parse_integer_digits_without_thsep(
3567
494
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
494
                        prefix_result.parsed_base));
3569
3570
494
            auto buf = make_contiguous_buffer(
3571
494
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
494
            SCN_TRY(result_it,
3573
480
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
480
                                        prefix_result.parsed_base));
3575
3576
480
            return ranges::next(
3577
480
                prefix_result.iterator,
3578
480
                ranges::distance(buf.view().begin(), result_it));
3579
494
        }
3580
3581
7.84k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.84k
            localized_number_formatting_options<CharT>{loc};
3586
7.84k
#endif
3587
3588
7.84k
        SCN_TRY(parse_digits_result,
3589
146
                parse_integer_digits_with_thsep(
3590
146
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
146
                    prefix_result.parsed_base, locale_options));
3592
146
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
146
            parse_digits_result;
3594
3595
146
        if (!thsep_indices.empty()) {
3596
22
            if (auto e = check_thsep_grouping(
3597
22
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
22
                    thsep_indices, locale_options.grouping);
3599
22
                SCN_UNLIKELY(!e)) {
3600
22
                return unexpected(e);
3601
22
            }
3602
22
        }
3603
3604
124
        auto nothsep_source_view =
3605
124
            std::basic_string_view<CharT>{nothsep_source};
3606
124
        SCN_TRY(
3607
124
            nothsep_source_it,
3608
124
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
124
                                prefix_result.parsed_base));
3610
3611
124
        return ranges::next(
3612
124
            prefix_result.iterator,
3613
124
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
124
                ranges::ssize(thsep_indices));
3615
124
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
47.0k
    {
3539
47.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.0k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
292
            if constexpr (!std::is_signed_v<T>) {
3544
292
                return unexpected_scan_error(
3545
292
                    scan_error::invalid_scanned_value,
3546
292
                    "Unexpected '-' sign when parsing an "
3547
292
                    "unsigned value");
3548
292
            }
3549
292
            else {
3550
292
                if (specs.type ==
3551
292
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
292
            }
3557
292
        }
3558
3559
47.0k
        if (prefix_result.is_zero) {
3560
50
            value = T{0};
3561
50
            return std::next(prefix_result.iterator);
3562
50
        }
3563
3564
46.9k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.1k
            SCN_TRY(after_digits_it,
3566
39.0k
                    parse_integer_digits_without_thsep(
3567
39.0k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
39.0k
                        prefix_result.parsed_base));
3569
3570
39.0k
            auto buf = make_contiguous_buffer(
3571
39.0k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
39.0k
            SCN_TRY(result_it,
3573
480
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
480
                                        prefix_result.parsed_base));
3575
3576
480
            return ranges::next(
3577
480
                prefix_result.iterator,
3578
480
                ranges::distance(buf.view().begin(), result_it));
3579
39.0k
        }
3580
3581
7.84k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.84k
            localized_number_formatting_options<CharT>{loc};
3586
7.84k
#endif
3587
3588
7.84k
        SCN_TRY(parse_digits_result,
3589
146
                parse_integer_digits_with_thsep(
3590
146
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
146
                    prefix_result.parsed_base, locale_options));
3592
146
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
146
            parse_digits_result;
3594
3595
146
        if (!thsep_indices.empty()) {
3596
22
            if (auto e = check_thsep_grouping(
3597
22
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
22
                    thsep_indices, locale_options.grouping);
3599
22
                SCN_UNLIKELY(!e)) {
3600
22
                return unexpected(e);
3601
22
            }
3602
22
        }
3603
3604
124
        auto nothsep_source_view =
3605
124
            std::basic_string_view<CharT>{nothsep_source};
3606
124
        SCN_TRY(
3607
124
            nothsep_source_it,
3608
124
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
124
                                prefix_result.parsed_base));
3610
3611
124
        return ranges::next(
3612
124
            prefix_result.iterator,
3613
124
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
124
                ranges::ssize(thsep_indices));
3615
124
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.5k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.7k
            SCN_TRY(after_digits_it,
3566
378
                    parse_integer_digits_without_thsep(
3567
378
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
378
                        prefix_result.parsed_base));
3569
3570
378
            auto buf = make_contiguous_buffer(
3571
378
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
378
            SCN_TRY(result_it,
3573
296
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
296
                                        prefix_result.parsed_base));
3575
3576
296
            return ranges::next(
3577
296
                prefix_result.iterator,
3578
296
                ranges::distance(buf.view().begin(), result_it));
3579
378
        }
3580
3581
7.74k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.74k
            localized_number_formatting_options<CharT>{loc};
3586
7.74k
#endif
3587
3588
7.74k
        SCN_TRY(parse_digits_result,
3589
102
                parse_integer_digits_with_thsep(
3590
102
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
102
                    prefix_result.parsed_base, locale_options));
3592
102
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
102
            parse_digits_result;
3594
3595
102
        if (!thsep_indices.empty()) {
3596
20
            if (auto e = check_thsep_grouping(
3597
20
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
20
                    thsep_indices, locale_options.grouping);
3599
20
                SCN_UNLIKELY(!e)) {
3600
20
                return unexpected(e);
3601
20
            }
3602
20
        }
3603
3604
82
        auto nothsep_source_view =
3605
82
            std::basic_string_view<CharT>{nothsep_source};
3606
82
        SCN_TRY(
3607
56
            nothsep_source_it,
3608
56
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
56
                                prefix_result.parsed_base));
3610
3611
56
        return ranges::next(
3612
56
            prefix_result.iterator,
3613
56
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
56
                ranges::ssize(thsep_indices));
3615
82
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.5k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.7k
            SCN_TRY(after_digits_it,
3566
38.7k
                    parse_integer_digits_without_thsep(
3567
38.7k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
38.7k
                        prefix_result.parsed_base));
3569
3570
38.7k
            auto buf = make_contiguous_buffer(
3571
38.7k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
38.7k
            SCN_TRY(result_it,
3573
296
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
296
                                        prefix_result.parsed_base));
3575
3576
296
            return ranges::next(
3577
296
                prefix_result.iterator,
3578
296
                ranges::distance(buf.view().begin(), result_it));
3579
38.7k
        }
3580
3581
7.74k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.74k
            localized_number_formatting_options<CharT>{loc};
3586
7.74k
#endif
3587
3588
7.74k
        SCN_TRY(parse_digits_result,
3589
102
                parse_integer_digits_with_thsep(
3590
102
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
102
                    prefix_result.parsed_base, locale_options));
3592
102
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
102
            parse_digits_result;
3594
3595
102
        if (!thsep_indices.empty()) {
3596
20
            if (auto e = check_thsep_grouping(
3597
20
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
20
                    thsep_indices, locale_options.grouping);
3599
20
                SCN_UNLIKELY(!e)) {
3600
20
                return unexpected(e);
3601
20
            }
3602
20
        }
3603
3604
82
        auto nothsep_source_view =
3605
82
            std::basic_string_view<CharT>{nothsep_source};
3606
82
        SCN_TRY(
3607
56
            nothsep_source_it,
3608
56
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
56
                                prefix_result.parsed_base));
3610
3611
56
        return ranges::next(
3612
56
            prefix_result.iterator,
3613
56
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
56
                ranges::ssize(thsep_indices));
3615
82
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.5k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.7k
            SCN_TRY(after_digits_it,
3566
384
                    parse_integer_digits_without_thsep(
3567
384
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
384
                        prefix_result.parsed_base));
3569
3570
384
            auto buf = make_contiguous_buffer(
3571
384
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
384
            SCN_TRY(result_it,
3573
330
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
330
                                        prefix_result.parsed_base));
3575
3576
330
            return ranges::next(
3577
330
                prefix_result.iterator,
3578
330
                ranges::distance(buf.view().begin(), result_it));
3579
384
        }
3580
3581
7.76k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.76k
            localized_number_formatting_options<CharT>{loc};
3586
7.76k
#endif
3587
3588
7.76k
        SCN_TRY(parse_digits_result,
3589
104
                parse_integer_digits_with_thsep(
3590
104
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
104
                    prefix_result.parsed_base, locale_options));
3592
104
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
104
            parse_digits_result;
3594
3595
104
        if (!thsep_indices.empty()) {
3596
20
            if (auto e = check_thsep_grouping(
3597
20
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
20
                    thsep_indices, locale_options.grouping);
3599
20
                SCN_UNLIKELY(!e)) {
3600
20
                return unexpected(e);
3601
20
            }
3602
20
        }
3603
3604
84
        auto nothsep_source_view =
3605
84
            std::basic_string_view<CharT>{nothsep_source};
3606
84
        SCN_TRY(
3607
68
            nothsep_source_it,
3608
68
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
68
                                prefix_result.parsed_base));
3610
3611
68
        return ranges::next(
3612
68
            prefix_result.iterator,
3613
68
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
68
                ranges::ssize(thsep_indices));
3615
84
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
122
    {
3539
122
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
122
                                   .transform_error(make_eof_scan_error));
3541
3542
122
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
122
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
122
        if (SCN_LIKELY(!specs.localized)) {
3565
116
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
6
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
6
            localized_number_formatting_options<CharT>{loc};
3586
6
#endif
3587
3588
6
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
47.1k
    {
3539
47.1k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.1k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.1k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.9k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.8k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.1k
            SCN_TRY(after_digits_it,
3566
39.1k
                    parse_integer_digits_without_thsep(
3567
39.1k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
39.1k
                        prefix_result.parsed_base));
3569
3570
39.1k
            auto buf = make_contiguous_buffer(
3571
39.1k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
39.1k
            SCN_TRY(result_it,
3573
330
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
330
                                        prefix_result.parsed_base));
3575
3576
330
            return ranges::next(
3577
330
                prefix_result.iterator,
3578
330
                ranges::distance(buf.view().begin(), result_it));
3579
39.1k
        }
3580
3581
7.77k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.77k
            localized_number_formatting_options<CharT>{loc};
3586
7.77k
#endif
3587
3588
7.77k
        SCN_TRY(parse_digits_result,
3589
104
                parse_integer_digits_with_thsep(
3590
104
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
104
                    prefix_result.parsed_base, locale_options));
3592
104
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
104
            parse_digits_result;
3594
3595
104
        if (!thsep_indices.empty()) {
3596
20
            if (auto e = check_thsep_grouping(
3597
20
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
20
                    thsep_indices, locale_options.grouping);
3599
20
                SCN_UNLIKELY(!e)) {
3600
20
                return unexpected(e);
3601
20
            }
3602
20
        }
3603
3604
84
        auto nothsep_source_view =
3605
84
            std::basic_string_view<CharT>{nothsep_source};
3606
84
        SCN_TRY(
3607
68
            nothsep_source_it,
3608
68
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
68
                                prefix_result.parsed_base));
3610
3611
68
        return ranges::next(
3612
68
            prefix_result.iterator,
3613
68
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
68
                ranges::ssize(thsep_indices));
3615
84
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
106
    {
3539
106
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
106
                                   .transform_error(make_eof_scan_error));
3541
3542
106
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
106
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
106
        if (SCN_LIKELY(!specs.localized)) {
3565
106
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
816
    {
3539
816
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
816
                                   .transform_error(make_eof_scan_error));
3541
3542
816
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
816
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
816
        if (SCN_LIKELY(!specs.localized)) {
3565
816
            SCN_TRY(after_digits_it,
3566
816
                    parse_integer_digits_without_thsep(
3567
816
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
816
                        prefix_result.parsed_base));
3569
3570
816
            auto buf = make_contiguous_buffer(
3571
816
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
816
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
816
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.9k
    {
3539
46.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.9k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
276
                    return unexpected_scan_error(
3553
276
                        scan_error::invalid_scanned_value,
3554
276
                        "'u'-option disallows negative values");
3555
276
                }
3556
276
            }
3557
276
        }
3558
3559
46.6k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.6k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.8k
            SCN_TRY(after_digits_it,
3566
406
                    parse_integer_digits_without_thsep(
3567
406
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
406
                        prefix_result.parsed_base));
3569
3570
406
            auto buf = make_contiguous_buffer(
3571
406
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
406
            SCN_TRY(result_it,
3573
400
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
400
                                        prefix_result.parsed_base));
3575
3576
400
            return ranges::next(
3577
400
                prefix_result.iterator,
3578
400
                ranges::distance(buf.view().begin(), result_it));
3579
406
        }
3580
3581
7.78k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.78k
            localized_number_formatting_options<CharT>{loc};
3586
7.78k
#endif
3587
3588
7.78k
        SCN_TRY(parse_digits_result,
3589
112
                parse_integer_digits_with_thsep(
3590
112
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
112
                    prefix_result.parsed_base, locale_options));
3592
112
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
112
            parse_digits_result;
3594
3595
112
        if (!thsep_indices.empty()) {
3596
20
            if (auto e = check_thsep_grouping(
3597
20
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
20
                    thsep_indices, locale_options.grouping);
3599
20
                SCN_UNLIKELY(!e)) {
3600
20
                return unexpected(e);
3601
20
            }
3602
20
        }
3603
3604
92
        auto nothsep_source_view =
3605
92
            std::basic_string_view<CharT>{nothsep_source};
3606
92
        SCN_TRY(
3607
92
            nothsep_source_it,
3608
92
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
92
                                prefix_result.parsed_base));
3610
3611
92
        return ranges::next(
3612
92
            prefix_result.iterator,
3613
92
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
92
                ranges::ssize(thsep_indices));
3615
92
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
46.9k
    {
3539
46.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.9k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
276
                    return unexpected_scan_error(
3553
276
                        scan_error::invalid_scanned_value,
3554
276
                        "'u'-option disallows negative values");
3555
276
                }
3556
276
            }
3557
276
        }
3558
3559
46.6k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.6k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.8k
            SCN_TRY(after_digits_it,
3566
38.8k
                    parse_integer_digits_without_thsep(
3567
38.8k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
38.8k
                        prefix_result.parsed_base));
3569
3570
38.8k
            auto buf = make_contiguous_buffer(
3571
38.8k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
38.8k
            SCN_TRY(result_it,
3573
400
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
400
                                        prefix_result.parsed_base));
3575
3576
400
            return ranges::next(
3577
400
                prefix_result.iterator,
3578
400
                ranges::distance(buf.view().begin(), result_it));
3579
38.8k
        }
3580
3581
7.78k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.78k
            localized_number_formatting_options<CharT>{loc};
3586
7.78k
#endif
3587
3588
7.78k
        SCN_TRY(parse_digits_result,
3589
112
                parse_integer_digits_with_thsep(
3590
112
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
112
                    prefix_result.parsed_base, locale_options));
3592
112
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
112
            parse_digits_result;
3594
3595
112
        if (!thsep_indices.empty()) {
3596
20
            if (auto e = check_thsep_grouping(
3597
20
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
20
                    thsep_indices, locale_options.grouping);
3599
20
                SCN_UNLIKELY(!e)) {
3600
20
                return unexpected(e);
3601
20
            }
3602
20
        }
3603
3604
92
        auto nothsep_source_view =
3605
92
            std::basic_string_view<CharT>{nothsep_source};
3606
92
        SCN_TRY(
3607
92
            nothsep_source_it,
3608
92
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
92
                                prefix_result.parsed_base));
3610
3611
92
        return ranges::next(
3612
92
            prefix_result.iterator,
3613
92
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
92
                ranges::ssize(thsep_indices));
3615
92
    }
3616
};
3617
3618
/////////////////////////////////////////////////////////////////
3619
// Floating-point reader
3620
/////////////////////////////////////////////////////////////////
3621
3622
struct float_reader_base {
3623
    enum options_type {
3624
        allow_hex = 1,
3625
        allow_scientific = 2,
3626
        allow_fixed = 4,
3627
        allow_thsep = 8
3628
    };
3629
3630
    enum class float_kind {
3631
        tbd = 0,
3632
        generic,             // fixed or scientific
3633
        fixed,               // xxx.yyy
3634
        scientific,          // xxx.yyyEzzz
3635
        hex_without_prefix,  // xxx.yyypzzz
3636
        hex_with_prefix,     // 0Xxxx.yyypzzz
3637
        inf_short,           // inf
3638
        inf_long,            // infinity
3639
        nan_simple,          // nan
3640
        nan_with_payload,    // nan(xxx)
3641
    };
3642
3643
1.69M
    constexpr float_reader_base() = default;
3644
4.23M
    explicit constexpr float_reader_base(unsigned opt) : m_options(opt) {}
3645
3646
protected:
3647
    unsigned m_options{allow_hex | allow_scientific | allow_fixed};
3648
};
3649
3650
template <typename CharT>
3651
class float_reader : public numeric_reader<CharT>, public float_reader_base {
3652
    using numeric_base = numeric_reader<CharT>;
3653
3654
public:
3655
    using char_type = CharT;
3656
3657
1.69M
    constexpr float_reader() = default;
scn::v3::impl::float_reader<char>::float_reader()
Line
Count
Source
3657
1.51M
    constexpr float_reader() = default;
scn::v3::impl::float_reader<wchar_t>::float_reader()
Line
Count
Source
3657
171k
    constexpr float_reader() = default;
3658
3659
4.23M
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v3::impl::float_reader<char>::float_reader(unsigned int)
Line
Count
Source
3659
3.69M
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v3::impl::float_reader<wchar_t>::float_reader(unsigned int)
Line
Count
Source
3659
540k
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
3660
3661
    template <typename Range>
3662
    SCN_NODISCARD auto read_source(Range range, detail::locale_ref)
3663
        -> scan_expected<ranges::const_iterator_t<Range>>
3664
4.74M
    {
3665
4.74M
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
4.74M
        return read_source_impl(range);
3671
4.74M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3664
2.08M
    {
3665
2.08M
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
2.08M
        return read_source_impl(range);
3671
2.08M
    }
_ZN3scn2v34impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3664
262
    {
3665
262
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
262
        return read_source_impl(range);
3671
262
    }
_ZN3scn2v34impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3664
2.06M
    {
3665
2.06M
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
2.06M
        return read_source_impl(range);
3671
2.06M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3664
298k
    {
3665
298k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
298k
        return read_source_impl(range);
3671
298k
    }
_ZN3scn2v34impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3664
118
    {
3665
118
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
118
        return read_source_impl(range);
3671
118
    }
_ZN3scn2v34impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3664
299k
    {
3665
299k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
299k
        return read_source_impl(range);
3671
299k
    }
3672
3673
#if !SCN_DISABLE_LOCALE
3674
    template <typename Range>
3675
    SCN_NODISCARD auto read_source_localized(Range range,
3676
                                             detail::locale_ref loc)
3677
        -> scan_expected<ranges::const_iterator_t<Range>>
3678
1.17M
    {
3679
1.17M
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
1.17M
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
1.17M
        return read_source_impl(range);
3685
1.17M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3678
543k
    {
3679
543k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
543k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
543k
        return read_source_impl(range);
3685
543k
    }
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3678
8
    {
3679
8
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
8
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
8
        return read_source_impl(range);
3685
8
    }
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3678
519k
    {
3679
519k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
519k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
519k
        return read_source_impl(range);
3685
519k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3678
57.0k
    {
3679
57.0k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
57.0k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
57.0k
        return read_source_impl(range);
3685
57.0k
    }
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3678
6
    {
3679
6
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
6
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
6
        return read_source_impl(range);
3685
6
    }
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3678
57.1k
    {
3679
57.1k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
57.1k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
57.1k
        return read_source_impl(range);
3685
57.1k
    }
3686
#endif
3687
3688
    template <typename T>
3689
    SCN_NODISCARD scan_expected<std::ptrdiff_t> parse_value(T& value)
3690
5.39M
    {
3691
5.39M
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
5.39M
        const std::ptrdiff_t sign_len =
3694
5.39M
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
5.39M
        SCN_TRY(n, parse_value_impl(value));
3697
5.18M
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
5.39M
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<float>(float&)
Line
Count
Source
3690
1.59M
    {
3691
1.59M
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
1.59M
        const std::ptrdiff_t sign_len =
3694
1.59M
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
1.59M
        SCN_TRY(n, parse_value_impl(value));
3697
1.57M
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
1.59M
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<double>(double&)
Line
Count
Source
3690
1.72M
    {
3691
1.72M
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
1.72M
        const std::ptrdiff_t sign_len =
3694
1.72M
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
1.72M
        SCN_TRY(n, parse_value_impl(value));
3697
1.70M
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
1.72M
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<long double>(long double&)
Line
Count
Source
3690
1.74M
    {
3691
1.74M
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
1.74M
        const std::ptrdiff_t sign_len =
3694
1.74M
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
1.74M
        SCN_TRY(n, parse_value_impl(value));
3697
1.72M
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
1.74M
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<float>(float&)
Line
Count
Source
3690
107k
    {
3691
107k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
107k
        const std::ptrdiff_t sign_len =
3694
107k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
107k
        SCN_TRY(n, parse_value_impl(value));
3697
59.8k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
107k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<double>(double&)
Line
Count
Source
3690
108k
    {
3691
108k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
108k
        const std::ptrdiff_t sign_len =
3694
108k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
108k
        SCN_TRY(n, parse_value_impl(value));
3697
60.1k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
108k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<long double>(long double&)
Line
Count
Source
3690
108k
    {
3691
108k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
108k
        const std::ptrdiff_t sign_len =
3694
108k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
108k
        SCN_TRY(n, parse_value_impl(value));
3697
60.9k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
108k
    }
3699
3700
private:
3701
    template <typename Range>
3702
    auto read_source_impl(Range range)
3703
        -> scan_expected<ranges::const_iterator_t<Range>>
3704
5.92M
    {
3705
5.92M
        SCN_TRY(sign_result,
3706
5.92M
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
5.92M
        auto it = sign_result.first;
3708
5.92M
        m_sign = sign_result.second;
3709
3710
5.92M
        auto digits_begin = it;
3711
5.92M
        auto r = ranges::subrange{it, range.end()};
3712
5.92M
        if constexpr (ranges::contiguous_range<Range> &&
3713
5.92M
                      ranges::sized_range<Range>) {
3714
2.98M
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
2.98M
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
2.94M
            else {
3724
2.94M
                auto cb = [&](const auto& rr)
3725
2.94M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
1.98M
                    auto res = read_all(rr);
3727
1.98M
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
1.35k
                        return unexpected_scan_error(
3729
1.35k
                            scan_error::invalid_scanned_value,
3730
1.35k
                            "Invalid float value");
3731
1.35k
                    }
3732
1.97M
                    return res;
3733
1.98M
                };
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3725
1.77M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
1.77M
                    auto res = read_all(rr);
3727
1.77M
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
1.28k
                        return unexpected_scan_error(
3729
1.28k
                            scan_error::invalid_scanned_value,
3730
1.28k
                            "Invalid float value");
3731
1.28k
                    }
3732
1.77M
                    return res;
3733
1.77M
                };
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3725
201k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
201k
                    auto res = read_all(rr);
3727
201k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
63
                        return unexpected_scan_error(
3729
63
                            scan_error::invalid_scanned_value,
3730
63
                            "Invalid float value");
3731
63
                    }
3732
201k
                    return res;
3733
201k
                };
3734
2.94M
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
2.76M
            }
3736
2.94M
        }
3737
2.98M
        else {
3738
2.98M
            SCN_TRY_ASSIGN(
3739
2.62M
                it,
3740
2.62M
                do_read_source_impl(
3741
2.62M
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
2.62M
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
2.62M
        }
3744
3745
5.39M
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
5.39M
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
5.39M
            m_kind != float_kind::nan_simple &&
3749
5.39M
            m_kind != float_kind::nan_with_payload) {
3750
5.11M
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
5.11M
        }
3752
3753
5.39M
        handle_separators();
3754
3755
5.39M
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
5.39M
        return it;
3768
5.39M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
_ZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3704
2.62M
    {
3705
2.62M
        SCN_TRY(sign_result,
3706
2.62M
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
2.62M
        auto it = sign_result.first;
3708
2.62M
        m_sign = sign_result.second;
3709
3710
2.62M
        auto digits_begin = it;
3711
2.62M
        auto r = ranges::subrange{it, range.end()};
3712
2.62M
        if constexpr (ranges::contiguous_range<Range> &&
3713
2.62M
                      ranges::sized_range<Range>) {
3714
2.62M
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
2.62M
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
2.62M
                SCN_TRY_ASSIGN(
3717
2.62M
                    it,
3718
2.62M
                    do_read_source_impl(
3719
2.62M
                        r,
3720
2.62M
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
2.62M
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
2.62M
            }
3723
2.62M
            else {
3724
2.62M
                auto cb = [&](const auto& rr)
3725
2.62M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
2.62M
                    auto res = read_all(rr);
3727
2.62M
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
2.62M
                        return unexpected_scan_error(
3729
2.62M
                            scan_error::invalid_scanned_value,
3730
2.62M
                            "Invalid float value");
3731
2.62M
                    }
3732
2.62M
                    return res;
3733
2.62M
                };
3734
2.62M
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
2.62M
            }
3736
2.62M
        }
3737
2.62M
        else {
3738
2.62M
            SCN_TRY_ASSIGN(
3739
2.53M
                it,
3740
2.53M
                do_read_source_impl(
3741
2.53M
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
2.53M
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
2.53M
        }
3744
3745
2.53M
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
2.53M
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
2.53M
            m_kind != float_kind::nan_simple &&
3749
2.53M
            m_kind != float_kind::nan_with_payload) {
3750
2.39M
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
2.39M
        }
3752
3753
2.53M
        handle_separators();
3754
3755
2.53M
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
2.53M
        return it;
3768
2.53M
    }
_ZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3704
270
    {
3705
270
        SCN_TRY(sign_result,
3706
270
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
270
        auto it = sign_result.first;
3708
270
        m_sign = sign_result.second;
3709
3710
270
        auto digits_begin = it;
3711
270
        auto r = ranges::subrange{it, range.end()};
3712
270
        if constexpr (ranges::contiguous_range<Range> &&
3713
270
                      ranges::sized_range<Range>) {
3714
270
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
270
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
270
                SCN_TRY_ASSIGN(
3717
270
                    it,
3718
270
                    do_read_source_impl(
3719
270
                        r,
3720
270
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
270
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
270
            }
3723
270
            else {
3724
270
                auto cb = [&](const auto& rr)
3725
270
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
270
                    auto res = read_all(rr);
3727
270
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
270
                        return unexpected_scan_error(
3729
270
                            scan_error::invalid_scanned_value,
3730
270
                            "Invalid float value");
3731
270
                    }
3732
270
                    return res;
3733
270
                };
3734
270
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
270
            }
3736
270
        }
3737
270
        else {
3738
270
            SCN_TRY_ASSIGN(
3739
0
                it,
3740
0
                do_read_source_impl(
3741
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
0
        }
3744
3745
0
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
0
            m_kind != float_kind::nan_simple &&
3749
0
            m_kind != float_kind::nan_with_payload) {
3750
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
0
        }
3752
3753
0
        handle_separators();
3754
3755
0
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
0
        return it;
3768
0
    }
_ZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3704
2.58M
    {
3705
2.58M
        SCN_TRY(sign_result,
3706
2.58M
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
2.58M
        auto it = sign_result.first;
3708
2.58M
        m_sign = sign_result.second;
3709
3710
2.58M
        auto digits_begin = it;
3711
2.58M
        auto r = ranges::subrange{it, range.end()};
3712
2.58M
        if constexpr (ranges::contiguous_range<Range> &&
3713
2.58M
                      ranges::sized_range<Range>) {
3714
2.58M
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
2.58M
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
2.58M
            else {
3724
2.58M
                auto cb = [&](const auto& rr)
3725
2.58M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
2.58M
                    auto res = read_all(rr);
3727
2.58M
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
2.58M
                        return unexpected_scan_error(
3729
2.58M
                            scan_error::invalid_scanned_value,
3730
2.58M
                            "Invalid float value");
3731
2.58M
                    }
3732
2.58M
                    return res;
3733
2.58M
                };
3734
2.58M
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
2.53M
            }
3736
2.58M
        }
3737
2.53M
        else {
3738
2.53M
            SCN_TRY_ASSIGN(
3739
2.53M
                it,
3740
2.53M
                do_read_source_impl(
3741
2.53M
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
2.53M
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
2.53M
        }
3744
3745
2.53M
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
2.53M
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
2.53M
            m_kind != float_kind::nan_simple &&
3749
2.53M
            m_kind != float_kind::nan_with_payload) {
3750
2.39M
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
2.39M
        }
3752
3753
2.53M
        handle_separators();
3754
3755
2.53M
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
2.53M
        return it;
3768
2.53M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
_ZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3704
355k
    {
3705
355k
        SCN_TRY(sign_result,
3706
355k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
355k
        auto it = sign_result.first;
3708
355k
        m_sign = sign_result.second;
3709
3710
355k
        auto digits_begin = it;
3711
355k
        auto r = ranges::subrange{it, range.end()};
3712
355k
        if constexpr (ranges::contiguous_range<Range> &&
3713
355k
                      ranges::sized_range<Range>) {
3714
355k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
355k
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
355k
                SCN_TRY_ASSIGN(
3717
355k
                    it,
3718
355k
                    do_read_source_impl(
3719
355k
                        r,
3720
355k
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
355k
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
355k
            }
3723
355k
            else {
3724
355k
                auto cb = [&](const auto& rr)
3725
355k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
355k
                    auto res = read_all(rr);
3727
355k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
355k
                        return unexpected_scan_error(
3729
355k
                            scan_error::invalid_scanned_value,
3730
355k
                            "Invalid float value");
3731
355k
                    }
3732
355k
                    return res;
3733
355k
                };
3734
355k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
355k
            }
3736
355k
        }
3737
355k
        else {
3738
355k
            SCN_TRY_ASSIGN(
3739
91.0k
                it,
3740
91.0k
                do_read_source_impl(
3741
91.0k
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
91.0k
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
91.0k
        }
3744
3745
91.0k
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
91.0k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
91.0k
            m_kind != float_kind::nan_simple &&
3749
91.0k
            m_kind != float_kind::nan_with_payload) {
3750
91.0k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
91.0k
        }
3752
3753
91.0k
        handle_separators();
3754
3755
91.0k
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
91.0k
        return it;
3768
91.0k
    }
_ZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3704
124
    {
3705
124
        SCN_TRY(sign_result,
3706
124
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
124
        auto it = sign_result.first;
3708
124
        m_sign = sign_result.second;
3709
3710
124
        auto digits_begin = it;
3711
124
        auto r = ranges::subrange{it, range.end()};
3712
124
        if constexpr (ranges::contiguous_range<Range> &&
3713
124
                      ranges::sized_range<Range>) {
3714
124
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
124
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
124
                SCN_TRY_ASSIGN(
3717
124
                    it,
3718
124
                    do_read_source_impl(
3719
124
                        r,
3720
124
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
124
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
124
            }
3723
124
            else {
3724
124
                auto cb = [&](const auto& rr)
3725
124
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
124
                    auto res = read_all(rr);
3727
124
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
124
                        return unexpected_scan_error(
3729
124
                            scan_error::invalid_scanned_value,
3730
124
                            "Invalid float value");
3731
124
                    }
3732
124
                    return res;
3733
124
                };
3734
124
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
124
            }
3736
124
        }
3737
124
        else {
3738
124
            SCN_TRY_ASSIGN(
3739
0
                it,
3740
0
                do_read_source_impl(
3741
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
0
        }
3744
3745
0
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
0
            m_kind != float_kind::nan_simple &&
3749
0
            m_kind != float_kind::nan_with_payload) {
3750
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
0
        }
3752
3753
0
        handle_separators();
3754
3755
0
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
0
        return it;
3768
0
    }
_ZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3704
356k
    {
3705
356k
        SCN_TRY(sign_result,
3706
356k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
356k
        auto it = sign_result.first;
3708
356k
        m_sign = sign_result.second;
3709
3710
356k
        auto digits_begin = it;
3711
356k
        auto r = ranges::subrange{it, range.end()};
3712
356k
        if constexpr (ranges::contiguous_range<Range> &&
3713
356k
                      ranges::sized_range<Range>) {
3714
356k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
356k
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
356k
            else {
3724
356k
                auto cb = [&](const auto& rr)
3725
356k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
356k
                    auto res = read_all(rr);
3727
356k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
356k
                        return unexpected_scan_error(
3729
356k
                            scan_error::invalid_scanned_value,
3730
356k
                            "Invalid float value");
3731
356k
                    }
3732
356k
                    return res;
3733
356k
                };
3734
356k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
234k
            }
3736
356k
        }
3737
234k
        else {
3738
234k
            SCN_TRY_ASSIGN(
3739
234k
                it,
3740
234k
                do_read_source_impl(
3741
234k
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
234k
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
234k
        }
3744
3745
234k
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
234k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
234k
            m_kind != float_kind::nan_simple &&
3749
234k
            m_kind != float_kind::nan_with_payload) {
3750
234k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
234k
        }
3752
3753
234k
        handle_separators();
3754
3755
234k
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
234k
        return it;
3768
234k
    }
3769
3770
    template <typename Range>
3771
    auto read_dec_digits(Range range, bool thsep_allowed)
3772
        -> parse_expected<ranges::const_iterator_t<Range>>
3773
5.50M
    {
3774
5.50M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
5.50M
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3780
0
        }
3781
3782
5.50M
        return read_while1_code_unit(
3783
29.4M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
Line
Count
Source
3783
20.8M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3783
264
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Line
Count
Source
3783
7.92M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
Line
Count
Source
3783
454k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3783
114
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
Line
Count
Source
3783
227k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
5.50M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3773
3.62M
    {
3774
3.62M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
3.62M
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
3.62M
        return read_while1_code_unit(
3783
3.62M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
3.62M
    }
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3773
264
    {
3774
264
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
264
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
264
        return read_while1_code_unit(
3783
264
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
264
    }
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3773
1.30M
    {
3774
1.30M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
1.30M
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
1.30M
        return read_while1_code_unit(
3783
1.30M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
1.30M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3773
374k
    {
3774
374k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
374k
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
374k
        return read_while1_code_unit(
3783
374k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
374k
    }
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3773
114
    {
3774
114
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
114
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
114
        return read_while1_code_unit(
3783
114
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
114
    }
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3773
190k
    {
3774
190k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
190k
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
190k
        return read_while1_code_unit(
3783
190k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
190k
    }
3785
    template <typename Range>
3786
    auto read_hex_digits(Range range, bool thsep_allowed)
3787
        -> parse_expected<ranges::const_iterator_t<Range>>
3788
1.34M
    {
3789
1.34M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
1.34M
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3795
0
        }
3796
3797
1.34M
        return read_while1_code_unit(
3798
6.69M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
_ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
Line
Count
Source
3798
6.59M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
_ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3798
6
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
_ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
Line
Count
Source
3798
94.1k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
_ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3798
10
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
3799
1.34M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3788
1.27M
    {
3789
1.27M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
1.27M
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
1.27M
        return read_while1_code_unit(
3798
1.27M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
1.27M
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3788
6
    {
3789
6
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
6
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
6
        return read_while1_code_unit(
3798
6
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3788
74.5k
    {
3789
74.5k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
74.5k
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
74.5k
        return read_while1_code_unit(
3798
74.5k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
74.5k
    }
_ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3788
10
    {
3789
10
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
10
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
10
        return read_while1_code_unit(
3798
10
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
10
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
3800
    template <typename Range>
3801
    auto read_hex_prefix(Range range)
3802
        -> parse_expected<ranges::const_iterator_t<Range>>
3803
3.96M
    {
3804
3.96M
        return read_matching_string_classic_nocase(range, "0x");
3805
3.96M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3803
1.78M
    {
3804
1.78M
        return read_matching_string_classic_nocase(range, "0x");
3805
1.78M
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3803
256
    {
3804
256
        return read_matching_string_classic_nocase(range, "0x");
3805
256
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3803
1.77M
    {
3804
1.77M
        return read_matching_string_classic_nocase(range, "0x");
3805
1.77M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3803
200k
    {
3804
200k
        return read_matching_string_classic_nocase(range, "0x");
3805
200k
    }
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3803
118
    {
3804
118
        return read_matching_string_classic_nocase(range, "0x");
3805
118
    }
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3803
201k
    {
3804
201k
        return read_matching_string_classic_nocase(range, "0x");
3805
201k
    }
3806
3807
    template <typename Range>
3808
    auto read_inf(Range range)
3809
        -> parse_expected<ranges::const_iterator_t<Range>>
3810
5.92M
    {
3811
5.92M
        auto it = range.begin();
3812
5.92M
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
5.84M
            return unexpected(r.error());
3814
5.84M
        }
3815
78.7k
        else {
3816
78.7k
            it = *r;
3817
78.7k
        }
3818
3819
78.7k
        if (auto r = read_matching_string_classic_nocase(
3820
78.7k
                ranges::subrange{it, range.end()}, "inity");
3821
78.7k
            !r) {
3822
45.6k
            m_kind = float_kind::inf_short;
3823
45.6k
            return it;
3824
45.6k
        }
3825
33.1k
        else {
3826
33.1k
            m_kind = float_kind::inf_long;
3827
33.1k
            return *r;
3828
33.1k
        }
3829
78.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3810
2.62M
    {
3811
2.62M
        auto it = range.begin();
3812
2.62M
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
2.58M
            return unexpected(r.error());
3814
2.58M
        }
3815
39.6k
        else {
3816
39.6k
            it = *r;
3817
39.6k
        }
3818
3819
39.6k
        if (auto r = read_matching_string_classic_nocase(
3820
39.6k
                ranges::subrange{it, range.end()}, "inity");
3821
39.6k
            !r) {
3822
23.0k
            m_kind = float_kind::inf_short;
3823
23.0k
            return it;
3824
23.0k
        }
3825
16.6k
        else {
3826
16.6k
            m_kind = float_kind::inf_long;
3827
16.6k
            return *r;
3828
16.6k
        }
3829
39.6k
    }
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3810
270
    {
3811
270
        auto it = range.begin();
3812
270
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
270
            return unexpected(r.error());
3814
270
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3810
2.58M
    {
3811
2.58M
        auto it = range.begin();
3812
2.58M
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
2.54M
            return unexpected(r.error());
3814
2.54M
        }
3815
39.1k
        else {
3816
39.1k
            it = *r;
3817
39.1k
        }
3818
3819
39.1k
        if (auto r = read_matching_string_classic_nocase(
3820
39.1k
                ranges::subrange{it, range.end()}, "inity");
3821
39.1k
            !r) {
3822
22.6k
            m_kind = float_kind::inf_short;
3823
22.6k
            return it;
3824
22.6k
        }
3825
16.5k
        else {
3826
16.5k
            m_kind = float_kind::inf_long;
3827
16.5k
            return *r;
3828
16.5k
        }
3829
39.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3810
355k
    {
3811
355k
        auto it = range.begin();
3812
355k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
355k
            return unexpected(r.error());
3814
355k
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3810
124
    {
3811
124
        auto it = range.begin();
3812
124
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
124
            return unexpected(r.error());
3814
124
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3810
356k
    {
3811
356k
        auto it = range.begin();
3812
356k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
356k
            return unexpected(r.error());
3814
356k
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
3830
3831
    template <typename Range>
3832
    auto read_nan(Range range) -> scan_expected<ranges::const_iterator_t<Range>>
3833
5.84M
    {
3834
5.84M
        auto it = range.begin();
3835
5.84M
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
5.65M
            return r.transform_error(map_parse_error_to_scan_error(
3837
5.65M
                scan_error::invalid_scanned_value,
3838
5.65M
                "Invalid floating-point NaN value"));
3839
5.65M
        }
3840
196k
        else {
3841
196k
            it = *r;
3842
196k
        }
3843
3844
196k
        if (auto r =
3845
196k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
196k
            !r) {
3847
188k
            m_kind = float_kind::nan_simple;
3848
188k
            return it;
3849
188k
        }
3850
7.66k
        else {
3851
7.66k
            it = *r;
3852
7.66k
        }
3853
3854
7.66k
        auto payload_beg_it = it;
3855
7.66k
        it = read_while_code_unit(
3856
48.1k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
48.1k
                return is_ascii_char(ch) &&
3858
48.1k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
47.7k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
48.1k
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlcE_clEc
Line
Count
Source
3856
24.3k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
24.3k
                return is_ascii_char(ch) &&
3858
24.3k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
24.1k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
24.3k
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlcE_clEc
Line
Count
Source
3856
23.7k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
23.7k
                return is_ascii_char(ch) &&
3858
23.7k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
23.6k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
23.7k
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlwE_clEw
3861
7.66k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
7.66k
        m_kind = float_kind::nan_with_payload;
3864
7.66k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
7.66k
                                             ')')) {
3866
5.32k
            return *r;
3867
5.32k
        }
3868
2.34k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
2.34k
                                     "Invalid floating-point NaN payload");
3870
7.66k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3833
2.58M
    {
3834
2.58M
        auto it = range.begin();
3835
2.58M
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
2.48M
            return r.transform_error(map_parse_error_to_scan_error(
3837
2.48M
                scan_error::invalid_scanned_value,
3838
2.48M
                "Invalid floating-point NaN value"));
3839
2.48M
        }
3840
98.3k
        else {
3841
98.3k
            it = *r;
3842
98.3k
        }
3843
3844
98.3k
        if (auto r =
3845
98.3k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
98.3k
            !r) {
3847
94.5k
            m_kind = float_kind::nan_simple;
3848
94.5k
            return it;
3849
94.5k
        }
3850
3.86k
        else {
3851
3.86k
            it = *r;
3852
3.86k
        }
3853
3854
3.86k
        auto payload_beg_it = it;
3855
3.86k
        it = read_while_code_unit(
3856
3.86k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
3.86k
                return is_ascii_char(ch) &&
3858
3.86k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
3.86k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
3.86k
            });
3861
3.86k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
3.86k
        m_kind = float_kind::nan_with_payload;
3864
3.86k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
3.86k
                                             ')')) {
3866
2.66k
            return *r;
3867
2.66k
        }
3868
1.19k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
1.19k
                                     "Invalid floating-point NaN payload");
3870
3.86k
    }
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3833
270
    {
3834
270
        auto it = range.begin();
3835
270
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
270
            return r.transform_error(map_parse_error_to_scan_error(
3837
270
                scan_error::invalid_scanned_value,
3838
270
                "Invalid floating-point NaN value"));
3839
270
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3833
2.54M
    {
3834
2.54M
        auto it = range.begin();
3835
2.54M
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
2.45M
            return r.transform_error(map_parse_error_to_scan_error(
3837
2.45M
                scan_error::invalid_scanned_value,
3838
2.45M
                "Invalid floating-point NaN value"));
3839
2.45M
        }
3840
98.1k
        else {
3841
98.1k
            it = *r;
3842
98.1k
        }
3843
3844
98.1k
        if (auto r =
3845
98.1k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
98.1k
            !r) {
3847
94.3k
            m_kind = float_kind::nan_simple;
3848
94.3k
            return it;
3849
94.3k
        }
3850
3.80k
        else {
3851
3.80k
            it = *r;
3852
3.80k
        }
3853
3854
3.80k
        auto payload_beg_it = it;
3855
3.80k
        it = read_while_code_unit(
3856
3.80k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
3.80k
                return is_ascii_char(ch) &&
3858
3.80k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
3.80k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
3.80k
            });
3861
3.80k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
3.80k
        m_kind = float_kind::nan_with_payload;
3864
3.80k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
3.80k
                                             ')')) {
3866
2.65k
            return *r;
3867
2.65k
        }
3868
1.14k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
1.14k
                                     "Invalid floating-point NaN payload");
3870
3.80k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3833
355k
    {
3834
355k
        auto it = range.begin();
3835
355k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
355k
            return r.transform_error(map_parse_error_to_scan_error(
3837
355k
                scan_error::invalid_scanned_value,
3838
355k
                "Invalid floating-point NaN value"));
3839
355k
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3833
124
    {
3834
124
        auto it = range.begin();
3835
124
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
124
            return r.transform_error(map_parse_error_to_scan_error(
3837
124
                scan_error::invalid_scanned_value,
3838
124
                "Invalid floating-point NaN value"));
3839
124
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3833
356k
    {
3834
356k
        auto it = range.begin();
3835
356k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
356k
            return r.transform_error(map_parse_error_to_scan_error(
3837
356k
                scan_error::invalid_scanned_value,
3838
356k
                "Invalid floating-point NaN value"));
3839
356k
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
3871
3872
    template <typename Range>
3873
    auto read_exponent(Range range, std::string_view exp)
3874
        -> ranges::const_iterator_t<Range>
3875
2.71M
    {
3876
2.71M
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
342k
            auto beg_exp_it = range.begin();
3878
342k
            auto it = *r;
3879
3880
342k
            if (auto r_sign =
3881
342k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
341k
                it = r_sign->first;
3883
341k
            }
3884
3885
342k
            if (auto r_exp = read_while1_code_unit(
3886
342k
                    ranges::subrange{it, range.end()},
3887
1.10M
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
3887
836k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
3887
258k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
3887
8.04k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
3887
3.08k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
342k
                SCN_UNLIKELY(!r_exp)) {
3889
6.01k
                it = beg_exp_it;
3890
6.01k
            }
3891
336k
            else {
3892
336k
                it = *r_exp;
3893
336k
            }
3894
3895
342k
            return it;
3896
342k
        }
3897
2.37M
        return range.begin();
3898
2.71M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Line
Count
Source
3875
2.19M
    {
3876
2.19M
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
255k
            auto beg_exp_it = range.begin();
3878
255k
            auto it = *r;
3879
3880
255k
            if (auto r_sign =
3881
255k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
255k
                it = r_sign->first;
3883
255k
            }
3884
3885
255k
            if (auto r_exp = read_while1_code_unit(
3886
255k
                    ranges::subrange{it, range.end()},
3887
255k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
255k
                SCN_UNLIKELY(!r_exp)) {
3889
3.08k
                it = beg_exp_it;
3890
3.08k
            }
3891
252k
            else {
3892
252k
                it = *r_exp;
3893
252k
            }
3894
3895
255k
            return it;
3896
255k
        }
3897
1.93M
        return range.begin();
3898
2.19M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3875
428k
    {
3876
428k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
81.9k
            auto beg_exp_it = range.begin();
3878
81.9k
            auto it = *r;
3879
3880
81.9k
            if (auto r_sign =
3881
81.9k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
81.8k
                it = r_sign->first;
3883
81.8k
            }
3884
3885
81.9k
            if (auto r_exp = read_while1_code_unit(
3886
81.9k
                    ranges::subrange{it, range.end()},
3887
81.9k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
81.9k
                SCN_UNLIKELY(!r_exp)) {
3889
1.09k
                it = beg_exp_it;
3890
1.09k
            }
3891
80.9k
            else {
3892
80.9k
                it = *r_exp;
3893
80.9k
            }
3894
3895
81.9k
            return it;
3896
81.9k
        }
3897
346k
        return range.begin();
3898
428k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Line
Count
Source
3875
76.6k
    {
3876
76.6k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
3.53k
            auto beg_exp_it = range.begin();
3878
3.53k
            auto it = *r;
3879
3880
3.53k
            if (auto r_sign =
3881
3.53k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
3.50k
                it = r_sign->first;
3883
3.50k
            }
3884
3885
3.53k
            if (auto r_exp = read_while1_code_unit(
3886
3.53k
                    ranges::subrange{it, range.end()},
3887
3.53k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
3.53k
                SCN_UNLIKELY(!r_exp)) {
3889
1.28k
                it = beg_exp_it;
3890
1.28k
            }
3891
2.24k
            else {
3892
2.24k
                it = *r_exp;
3893
2.24k
            }
3894
3895
3.53k
            return it;
3896
3.53k
        }
3897
73.0k
        return range.begin();
3898
76.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3875
18.7k
    {
3876
18.7k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
1.41k
            auto beg_exp_it = range.begin();
3878
1.41k
            auto it = *r;
3879
3880
1.41k
            if (auto r_sign =
3881
1.41k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
1.40k
                it = r_sign->first;
3883
1.40k
            }
3884
3885
1.41k
            if (auto r_exp = read_while1_code_unit(
3886
1.41k
                    ranges::subrange{it, range.end()},
3887
1.41k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
1.41k
                SCN_UNLIKELY(!r_exp)) {
3889
554
                it = beg_exp_it;
3890
554
            }
3891
858
            else {
3892
858
                it = *r_exp;
3893
858
            }
3894
3895
1.41k
            return it;
3896
1.41k
        }
3897
17.3k
        return range.begin();
3898
18.7k
    }
3899
3900
    template <typename Range>
3901
    auto read_hexfloat(Range range)
3902
        -> scan_expected<ranges::const_iterator_t<Range>>
3903
700k
    {
3904
700k
        auto it = range.begin();
3905
3906
700k
        std::ptrdiff_t digits_count = 0;
3907
700k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
700k
            SCN_UNLIKELY(!r)) {
3909
52.4k
            return r.transform_error(map_parse_error_to_scan_error(
3910
52.4k
                scan_error::invalid_scanned_value,
3911
52.4k
                "Invalid hexadecimal floating-point value"));
3912
52.4k
        }
3913
647k
        else {
3914
647k
            digits_count += ranges::distance(it, *r);
3915
647k
            it = *r;
3916
647k
        }
3917
3918
647k
        m_integral_part_length = digits_count;
3919
647k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
647k
                                             m_locale_options.decimal_point)) {
3921
83.3k
            it = *r;
3922
83.3k
        }
3923
3924
647k
        if (auto r =
3925
647k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
67.2k
            digits_count += ranges::distance(it, *r);
3927
67.2k
            it = *r;
3928
67.2k
        }
3929
3930
647k
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
647k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
647k
        return it;
3938
647k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3903
642k
    {
3904
642k
        auto it = range.begin();
3905
3906
642k
        std::ptrdiff_t digits_count = 0;
3907
642k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
642k
            SCN_UNLIKELY(!r)) {
3909
11.7k
            return r.transform_error(map_parse_error_to_scan_error(
3910
11.7k
                scan_error::invalid_scanned_value,
3911
11.7k
                "Invalid hexadecimal floating-point value"));
3912
11.7k
        }
3913
630k
        else {
3914
630k
            digits_count += ranges::distance(it, *r);
3915
630k
            it = *r;
3916
630k
        }
3917
3918
630k
        m_integral_part_length = digits_count;
3919
630k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
630k
                                             m_locale_options.decimal_point)) {
3921
83.2k
            it = *r;
3922
83.2k
        }
3923
3924
630k
        if (auto r =
3925
630k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
67.2k
            digits_count += ranges::distance(it, *r);
3927
67.2k
            it = *r;
3928
67.2k
        }
3929
3930
630k
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
630k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
630k
        return it;
3938
630k
    }
_ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3903
6
    {
3904
6
        auto it = range.begin();
3905
3906
6
        std::ptrdiff_t digits_count = 0;
3907
6
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
6
            SCN_UNLIKELY(!r)) {
3909
6
            return r.transform_error(map_parse_error_to_scan_error(
3910
6
                scan_error::invalid_scanned_value,
3911
6
                "Invalid hexadecimal floating-point value"));
3912
6
        }
3913
0
        else {
3914
0
            digits_count += ranges::distance(it, *r);
3915
0
            it = *r;
3916
0
        }
3917
3918
0
        m_integral_part_length = digits_count;
3919
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
0
                                             m_locale_options.decimal_point)) {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        if (auto r =
3925
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
0
            digits_count += ranges::distance(it, *r);
3927
0
            it = *r;
3928
0
        }
3929
3930
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
0
        return it;
3938
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3903
57.6k
    {
3904
57.6k
        auto it = range.begin();
3905
3906
57.6k
        std::ptrdiff_t digits_count = 0;
3907
57.6k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
57.6k
            SCN_UNLIKELY(!r)) {
3909
40.7k
            return r.transform_error(map_parse_error_to_scan_error(
3910
40.7k
                scan_error::invalid_scanned_value,
3911
40.7k
                "Invalid hexadecimal floating-point value"));
3912
40.7k
        }
3913
16.9k
        else {
3914
16.9k
            digits_count += ranges::distance(it, *r);
3915
16.9k
            it = *r;
3916
16.9k
        }
3917
3918
16.9k
        m_integral_part_length = digits_count;
3919
16.9k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
16.9k
                                             m_locale_options.decimal_point)) {
3921
18
            it = *r;
3922
18
        }
3923
3924
16.9k
        if (auto r =
3925
16.9k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
0
            digits_count += ranges::distance(it, *r);
3927
0
            it = *r;
3928
0
        }
3929
3930
16.9k
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
16.9k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
16.9k
        return it;
3938
16.9k
    }
_ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3903
10
    {
3904
10
        auto it = range.begin();
3905
3906
10
        std::ptrdiff_t digits_count = 0;
3907
10
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
10
            SCN_UNLIKELY(!r)) {
3909
10
            return r.transform_error(map_parse_error_to_scan_error(
3910
10
                scan_error::invalid_scanned_value,
3911
10
                "Invalid hexadecimal floating-point value"));
3912
10
        }
3913
0
        else {
3914
0
            digits_count += ranges::distance(it, *r);
3915
0
            it = *r;
3916
0
        }
3917
3918
0
        m_integral_part_length = digits_count;
3919
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
0
                                             m_locale_options.decimal_point)) {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        if (auto r =
3925
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
0
            digits_count += ranges::distance(it, *r);
3927
0
            it = *r;
3928
0
        }
3929
3930
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
0
        return it;
3938
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
3939
3940
    template <typename Range>
3941
    auto read_regular_float(Range range)
3942
        -> scan_expected<ranges::const_iterator_t<Range>>
3943
2.97M
    {
3944
2.97M
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
2.97M
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
2.97M
        auto it = ranges::begin(range);
3948
2.97M
        std::ptrdiff_t digits_count = 0;
3949
3950
2.97M
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
2.97M
            SCN_UNLIKELY(!r)) {
3952
439k
            return r.transform_error(
3953
439k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
439k
                                              "Invalid floating-point value"));
3955
439k
        }
3956
2.53M
        else {
3957
2.53M
            digits_count += ranges::distance(it, *r);
3958
2.53M
            it = *r;
3959
2.53M
        }
3960
3961
2.53M
        m_integral_part_length = digits_count;
3962
2.53M
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
2.53M
                                             m_locale_options.decimal_point)) {
3964
422k
            it = *r;
3965
422k
        }
3966
3967
2.53M
        if (auto r =
3968
2.53M
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
363k
            digits_count += ranges::distance(it, *r);
3970
363k
            it = *r;
3971
363k
        }
3972
3973
2.53M
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
2.53M
        auto beg_exp_it = it;
3979
2.53M
        if (allowed_exp) {
3980
2.06M
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
2.06M
        }
3982
2.53M
        if (required_exp && beg_exp_it == it) {
3983
39.4k
            return unexpected_scan_error(
3984
39.4k
                scan_error::invalid_scanned_value,
3985
39.4k
                "No exponent given to scientific float");
3986
39.4k
        }
3987
3988
2.49M
        m_kind =
3989
2.49M
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
2.49M
        return it;
3992
2.53M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3943
1.84M
    {
3944
1.84M
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
1.84M
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
1.84M
        auto it = ranges::begin(range);
3948
1.84M
        std::ptrdiff_t digits_count = 0;
3949
3950
1.84M
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
1.84M
            SCN_UNLIKELY(!r)) {
3952
63.4k
            return r.transform_error(
3953
63.4k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
63.4k
                                              "Invalid floating-point value"));
3955
63.4k
        }
3956
1.78M
        else {
3957
1.78M
            digits_count += ranges::distance(it, *r);
3958
1.78M
            it = *r;
3959
1.78M
        }
3960
3961
1.78M
        m_integral_part_length = digits_count;
3962
1.78M
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
1.78M
                                             m_locale_options.decimal_point)) {
3964
304k
            it = *r;
3965
304k
        }
3966
3967
1.78M
        if (auto r =
3968
1.78M
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
261k
            digits_count += ranges::distance(it, *r);
3970
261k
            it = *r;
3971
261k
        }
3972
3973
1.78M
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
1.78M
        auto beg_exp_it = it;
3979
1.78M
        if (allowed_exp) {
3980
1.56M
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
1.56M
        }
3982
1.78M
        if (required_exp && beg_exp_it == it) {
3983
17.8k
            return unexpected_scan_error(
3984
17.8k
                scan_error::invalid_scanned_value,
3985
17.8k
                "No exponent given to scientific float");
3986
17.8k
        }
3987
3988
1.76M
        m_kind =
3989
1.76M
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
1.76M
        return it;
3992
1.78M
    }
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3943
264
    {
3944
264
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
264
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
264
        auto it = ranges::begin(range);
3948
264
        std::ptrdiff_t digits_count = 0;
3949
3950
264
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
264
            SCN_UNLIKELY(!r)) {
3952
264
            return r.transform_error(
3953
264
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
264
                                              "Invalid floating-point value"));
3955
264
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3943
671k
    {
3944
671k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
671k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
671k
        auto it = ranges::begin(range);
3948
671k
        std::ptrdiff_t digits_count = 0;
3949
3950
671k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
671k
            SCN_UNLIKELY(!r)) {
3952
33.5k
            return r.transform_error(
3953
33.5k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
33.5k
                                              "Invalid floating-point value"));
3955
33.5k
        }
3956
637k
        else {
3957
637k
            digits_count += ranges::distance(it, *r);
3958
637k
            it = *r;
3959
637k
        }
3960
3961
637k
        m_integral_part_length = digits_count;
3962
637k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
637k
                                             m_locale_options.decimal_point)) {
3964
117k
            it = *r;
3965
117k
        }
3966
3967
637k
        if (auto r =
3968
637k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
101k
            digits_count += ranges::distance(it, *r);
3970
101k
            it = *r;
3971
101k
        }
3972
3973
637k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
637k
        auto beg_exp_it = it;
3979
637k
        if (allowed_exp) {
3980
428k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
428k
        }
3982
637k
        if (required_exp && beg_exp_it == it) {
3983
17.8k
            return unexpected_scan_error(
3984
17.8k
                scan_error::invalid_scanned_value,
3985
17.8k
                "No exponent given to scientific float");
3986
17.8k
        }
3987
3988
619k
        m_kind =
3989
619k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
619k
        return it;
3992
637k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3943
298k
    {
3944
298k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
298k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
298k
        auto it = ranges::begin(range);
3948
298k
        std::ptrdiff_t digits_count = 0;
3949
3950
298k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
298k
            SCN_UNLIKELY(!r)) {
3952
221k
            return r.transform_error(
3953
221k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
221k
                                              "Invalid floating-point value"));
3955
221k
        }
3956
76.0k
        else {
3957
76.0k
            digits_count += ranges::distance(it, *r);
3958
76.0k
            it = *r;
3959
76.0k
        }
3960
3961
76.0k
        m_integral_part_length = digits_count;
3962
76.0k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
76.0k
                                             m_locale_options.decimal_point)) {
3964
66
            it = *r;
3965
66
        }
3966
3967
76.0k
        if (auto r =
3968
76.0k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
76.0k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
76.0k
        auto beg_exp_it = it;
3979
76.0k
        if (allowed_exp) {
3980
59.7k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
59.7k
        }
3982
76.0k
        if (required_exp && beg_exp_it == it) {
3983
1.90k
            return unexpected_scan_error(
3984
1.90k
                scan_error::invalid_scanned_value,
3985
1.90k
                "No exponent given to scientific float");
3986
1.90k
        }
3987
3988
74.1k
        m_kind =
3989
74.1k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
74.1k
        return it;
3992
76.0k
    }
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3943
114
    {
3944
114
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
114
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
114
        auto it = ranges::begin(range);
3948
114
        std::ptrdiff_t digits_count = 0;
3949
3950
114
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
114
            SCN_UNLIKELY(!r)) {
3952
114
            return r.transform_error(
3953
114
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
114
                                              "Invalid floating-point value"));
3955
114
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3943
155k
    {
3944
155k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
155k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
155k
        auto it = ranges::begin(range);
3948
155k
        std::ptrdiff_t digits_count = 0;
3949
3950
155k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
155k
            SCN_UNLIKELY(!r)) {
3952
120k
            return r.transform_error(
3953
120k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
120k
                                              "Invalid floating-point value"));
3955
120k
        }
3956
35.1k
        else {
3957
35.1k
            digits_count += ranges::distance(it, *r);
3958
35.1k
            it = *r;
3959
35.1k
        }
3960
3961
35.1k
        m_integral_part_length = digits_count;
3962
35.1k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
35.1k
                                             m_locale_options.decimal_point)) {
3964
36
            it = *r;
3965
36
        }
3966
3967
35.1k
        if (auto r =
3968
35.1k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
35.1k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
35.1k
        auto beg_exp_it = it;
3979
35.1k
        if (allowed_exp) {
3980
18.7k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
18.7k
        }
3982
35.1k
        if (required_exp && beg_exp_it == it) {
3983
1.90k
            return unexpected_scan_error(
3984
1.90k
                scan_error::invalid_scanned_value,
3985
1.90k
                "No exponent given to scientific float");
3986
1.90k
        }
3987
3988
33.1k
        m_kind =
3989
33.1k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
33.1k
        return it;
3992
35.1k
    }
3993
3994
    template <typename Range, typename ReadRegular, typename ReadHex>
3995
    auto do_read_source_impl(Range range,
3996
                             ReadRegular&& read_regular,
3997
                             ReadHex&& read_hex)
3998
        -> scan_expected<ranges::const_iterator_t<Range>>
3999
5.92M
    {
4000
5.92M
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
5.92M
        const bool allowed_nonhex =
4002
5.92M
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
5.92M
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
5.92M
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
5.92M
        else if (r) {
4011
78.7k
            return *r;
4012
78.7k
        }
4013
4014
5.84M
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
2.34k
            return unexpected(r.error());
4016
2.34k
        }
4017
5.84M
        else if (r) {
4018
194k
            return *r;
4019
194k
        }
4020
4021
5.65M
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
1.24M
            auto it = range.begin();
4025
4026
1.24M
            if (auto r = read_hex_prefix(range)) {
4027
57.7k
                m_kind = float_kind::hex_with_prefix;
4028
57.7k
                it = *r;
4029
57.7k
            }
4030
1.18M
            else {
4031
1.18M
                m_kind = float_kind::hex_without_prefix;
4032
1.18M
            }
4033
4034
1.24M
            return read_hex(ranges::subrange{it, range.end()});
4035
1.24M
        }
4036
4.41M
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
1.68M
            m_kind = float_kind::generic;
4040
1.68M
            return read_regular_float(range);
4041
1.68M
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
2.72M
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
135k
            m_kind = float_kind::hex_with_prefix;
4048
135k
            return read_hex(ranges::subrange{*r, range.end()});
4049
135k
        }
4050
4051
2.59M
        m_kind = float_kind::generic;
4052
2.59M
        return read_regular(range);
4053
2.72M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
Line
Count
Source
3999
2.62M
    {
4000
2.62M
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
2.62M
        const bool allowed_nonhex =
4002
2.62M
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
2.62M
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
2.62M
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
2.62M
        else if (r) {
4011
39.6k
            return *r;
4012
39.6k
        }
4013
4014
2.58M
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
1.19k
            return unexpected(r.error());
4016
1.19k
        }
4017
2.58M
        else if (r) {
4018
97.1k
            return *r;
4019
97.1k
        }
4020
4021
2.48M
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
576k
            auto it = range.begin();
4025
4026
576k
            if (auto r = read_hex_prefix(range)) {
4027
29.3k
                m_kind = float_kind::hex_with_prefix;
4028
29.3k
                it = *r;
4029
29.3k
            }
4030
547k
            else {
4031
547k
                m_kind = float_kind::hex_without_prefix;
4032
547k
            }
4033
4034
576k
            return read_hex(ranges::subrange{it, range.end()});
4035
576k
        }
4036
1.91M
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
699k
            m_kind = float_kind::generic;
4040
699k
            return read_regular_float(range);
4041
699k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
1.21M
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
65.8k
            m_kind = float_kind::hex_with_prefix;
4048
65.8k
            return read_hex(ranges::subrange{*r, range.end()});
4049
65.8k
        }
4050
4051
1.14M
        m_kind = float_kind::generic;
4052
1.14M
        return read_regular(range);
4053
1.21M
    }
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
3999
270
    {
4000
270
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
270
        const bool allowed_nonhex =
4002
270
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
270
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
270
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
270
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
270
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
270
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
270
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
6
            auto it = range.begin();
4025
4026
6
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
6
            else {
4031
6
                m_kind = float_kind::hex_without_prefix;
4032
6
            }
4033
4034
6
            return read_hex(ranges::subrange{it, range.end()});
4035
6
        }
4036
264
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
14
            m_kind = float_kind::generic;
4040
14
            return read_regular_float(range);
4041
14
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
250
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
250
        m_kind = float_kind::generic;
4052
250
        return read_regular(range);
4053
250
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
3999
2.58M
    {
4000
2.58M
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
2.58M
        const bool allowed_nonhex =
4002
2.58M
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
2.58M
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
2.58M
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
2.58M
        else if (r) {
4011
39.1k
            return *r;
4012
39.1k
        }
4013
4014
2.54M
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
1.14k
            return unexpected(r.error());
4016
1.14k
        }
4017
2.54M
        else if (r) {
4018
96.9k
            return *r;
4019
96.9k
        }
4020
4021
2.45M
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
549k
            auto it = range.begin();
4025
4026
549k
            if (auto r = read_hex_prefix(range)) {
4027
28.2k
                m_kind = float_kind::hex_with_prefix;
4028
28.2k
                it = *r;
4029
28.2k
            }
4030
521k
            else {
4031
521k
                m_kind = float_kind::hex_without_prefix;
4032
521k
            }
4033
4034
549k
            return read_hex(ranges::subrange{it, range.end()});
4035
549k
        }
4036
1.90M
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
671k
            m_kind = float_kind::generic;
4040
671k
            return read_regular_float(range);
4041
671k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
1.22M
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
69.4k
            m_kind = float_kind::hex_with_prefix;
4048
69.4k
            return read_hex(ranges::subrange{*r, range.end()});
4049
69.4k
        }
4050
4051
1.16M
        m_kind = float_kind::generic;
4052
1.16M
        return read_regular(range);
4053
1.22M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
Line
Count
Source
3999
355k
    {
4000
355k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
355k
        const bool allowed_nonhex =
4002
355k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
355k
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
355k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
355k
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
355k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
355k
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
355k
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
57.3k
            auto it = range.begin();
4025
4026
57.3k
            if (auto r = read_hex_prefix(range)) {
4027
102
                m_kind = float_kind::hex_with_prefix;
4028
102
                it = *r;
4029
102
            }
4030
57.2k
            else {
4031
57.2k
                m_kind = float_kind::hex_without_prefix;
4032
57.2k
            }
4033
4034
57.3k
            return read_hex(ranges::subrange{it, range.end()});
4035
57.3k
        }
4036
298k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
155k
            m_kind = float_kind::generic;
4040
155k
            return read_regular_float(range);
4041
155k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
142k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
255
            m_kind = float_kind::hex_with_prefix;
4048
255
            return read_hex(ranges::subrange{*r, range.end()});
4049
255
        }
4050
4051
142k
        m_kind = float_kind::generic;
4052
142k
        return read_regular(range);
4053
142k
    }
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
3999
124
    {
4000
124
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
124
        const bool allowed_nonhex =
4002
124
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
124
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
124
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
124
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
124
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
124
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
124
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
10
            auto it = range.begin();
4025
4026
10
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
10
            else {
4031
10
                m_kind = float_kind::hex_without_prefix;
4032
10
            }
4033
4034
10
            return read_hex(ranges::subrange{it, range.end()});
4035
10
        }
4036
114
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
6
            m_kind = float_kind::generic;
4040
6
            return read_regular_float(range);
4041
6
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
108
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
108
        m_kind = float_kind::generic;
4052
108
        return read_regular(range);
4053
108
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
3999
356k
    {
4000
356k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
356k
        const bool allowed_nonhex =
4002
356k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
356k
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
356k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
356k
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
356k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
356k
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
356k
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
57.4k
            auto it = range.begin();
4025
4026
57.4k
            if (auto r = read_hex_prefix(range)) {
4027
102
                m_kind = float_kind::hex_with_prefix;
4028
102
                it = *r;
4029
102
            }
4030
57.3k
            else {
4031
57.3k
                m_kind = float_kind::hex_without_prefix;
4032
57.3k
            }
4033
4034
57.4k
            return read_hex(ranges::subrange{it, range.end()});
4035
57.4k
        }
4036
299k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
155k
            m_kind = float_kind::generic;
4040
155k
            return read_regular_float(range);
4041
155k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
143k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
255
            m_kind = float_kind::hex_with_prefix;
4048
255
            return read_hex(ranges::subrange{*r, range.end()});
4049
255
        }
4050
4051
143k
        m_kind = float_kind::generic;
4052
143k
        return read_regular(range);
4053
143k
    }
4054
4055
    void handle_separators()
4056
5.39M
    {
4057
5.39M
        if (m_locale_options.thousands_sep == 0 &&
4058
5.39M
            m_locale_options.decimal_point == CharT{'.'}) {
4059
5.39M
            return;
4060
5.39M
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
scn::v3::impl::float_reader<char>::handle_separators()
Line
Count
Source
4056
5.06M
    {
4057
5.06M
        if (m_locale_options.thousands_sep == 0 &&
4058
5.06M
            m_locale_options.decimal_point == CharT{'.'}) {
4059
5.06M
            return;
4060
5.06M
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
scn::v3::impl::float_reader<wchar_t>::handle_separators()
Line
Count
Source
4056
325k
    {
4057
325k
        if (m_locale_options.thousands_sep == 0 &&
4058
325k
            m_locale_options.decimal_point == CharT{'.'}) {
4059
325k
            return;
4060
325k
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
4096
4097
    template <typename T>
4098
    T setsign(T value) const
4099
5.39M
    {
4100
5.39M
        if (m_sign == sign_type::minus_sign) {
4101
577k
            return std::copysign(value, T{-1.0});
4102
577k
        }
4103
4.81M
        return std::copysign(value, T{1.0});
4104
5.39M
    }
float scn::v3::impl::float_reader<char>::setsign<float>(float) const
Line
Count
Source
4099
1.59M
    {
4100
1.59M
        if (m_sign == sign_type::minus_sign) {
4101
182k
            return std::copysign(value, T{-1.0});
4102
182k
        }
4103
1.41M
        return std::copysign(value, T{1.0});
4104
1.59M
    }
float scn::v3::impl::float_reader<wchar_t>::setsign<float>(float) const
Line
Count
Source
4099
107k
    {
4100
107k
        if (m_sign == sign_type::minus_sign) {
4101
74
            return std::copysign(value, T{-1.0});
4102
74
        }
4103
107k
        return std::copysign(value, T{1.0});
4104
107k
    }
double scn::v3::impl::float_reader<char>::setsign<double>(double) const
Line
Count
Source
4099
1.72M
    {
4100
1.72M
        if (m_sign == sign_type::minus_sign) {
4101
194k
            return std::copysign(value, T{-1.0});
4102
194k
        }
4103
1.53M
        return std::copysign(value, T{1.0});
4104
1.72M
    }
double scn::v3::impl::float_reader<wchar_t>::setsign<double>(double) const
Line
Count
Source
4099
108k
    {
4100
108k
        if (m_sign == sign_type::minus_sign) {
4101
74
            return std::copysign(value, T{-1.0});
4102
74
        }
4103
108k
        return std::copysign(value, T{1.0});
4104
108k
    }
long double scn::v3::impl::float_reader<char>::setsign<long double>(long double) const
Line
Count
Source
4099
1.74M
    {
4100
1.74M
        if (m_sign == sign_type::minus_sign) {
4101
200k
            return std::copysign(value, T{-1.0});
4102
200k
        }
4103
1.54M
        return std::copysign(value, T{1.0});
4104
1.74M
    }
long double scn::v3::impl::float_reader<wchar_t>::setsign<long double>(long double) const
Line
Count
Source
4099
108k
    {
4100
108k
        if (m_sign == sign_type::minus_sign) {
4101
74
            return std::copysign(value, T{-1.0});
4102
74
        }
4103
108k
        return std::copysign(value, T{1.0});
4104
108k
    }
4105
4106
    template <typename T>
4107
    scan_expected<std::ptrdiff_t> parse_value_impl(T& value);
4108
4109
    localized_number_formatting_options<CharT> m_locale_options{};
4110
    std::string m_thsep_indices{};
4111
    contiguous_range_factory<CharT> m_nan_payload_buffer{};
4112
    std::ptrdiff_t m_integral_part_length{-1};
4113
    sign_type m_sign{sign_type::default_sign};
4114
    float_kind m_kind{float_kind::tbd};
4115
};
4116
4117
#define SCN_DECLARE_FLOAT_READER_TEMPLATE(CharT, FloatT)                \
4118
    extern template auto float_reader<CharT>::parse_value_impl(FloatT&) \
4119
        -> scan_expected<std::ptrdiff_t>;
4120
4121
#if !SCN_DISABLE_TYPE_FLOAT
4122
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, float)
4123
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, float)
4124
#endif
4125
#if !SCN_DISABLE_TYPE_DOUBLE
4126
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, double)
4127
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, double)
4128
#endif
4129
#if !SCN_DISABLE_TYPE_LONG_DOUBLE
4130
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, long double)
4131
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, long double)
4132
#endif
4133
4134
#undef SCN_DECLARE_FLOAT_READER_TEMPLATE
4135
4136
template <typename CharT>
4137
class reader_impl_for_float
4138
    : public reader_base<reader_impl_for_float<CharT>, CharT> {
4139
public:
4140
    constexpr reader_impl_for_float() = default;
4141
4142
    void check_specs_impl(const detail::format_specs& specs,
4143
                          reader_error_handler& eh)
4144
4.28M
    {
4145
4.28M
        detail::check_float_type_specs(specs, eh);
4146
4.28M
    }
scn::v3::impl::reader_impl_for_float<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
4144
3.74M
    {
4145
3.74M
        detail::check_float_type_specs(specs, eh);
4146
3.74M
    }
scn::v3::impl::reader_impl_for_float<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
4144
545k
    {
4145
545k
        detail::check_float_type_specs(specs, eh);
4146
545k
    }
4147
4148
    template <typename Range, typename T>
4149
    auto read_default(Range range, T& value, detail::locale_ref loc)
4150
        -> scan_expected<ranges::const_iterator_t<Range>>
4151
1.69M
    {
4152
1.69M
        SCN_UNUSED(loc);
4153
4154
1.69M
        float_reader<CharT> rd{};
4155
1.69M
        return read_impl<Range>(
4156
1.69M
            range, rd,
4157
1.69M
            [](float_reader<CharT>& r, auto&&... args) {
4158
1.69M
                return r.read_source(SCN_FWD(args)...);
4159
1.69M
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
241k
            [](float_reader<CharT>& r, auto&&... args) {
4158
241k
                return r.read_source(SCN_FWD(args)...);
4159
241k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
267k
            [](float_reader<CharT>& r, auto&&... args) {
4158
267k
                return r.read_source(SCN_FWD(args)...);
4159
267k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
271k
            [](float_reader<CharT>& r, auto&&... args) {
4158
271k
                return r.read_source(SCN_FWD(args)...);
4159
271k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
229k
            [](float_reader<CharT>& r, auto&&... args) {
4158
229k
                return r.read_source(SCN_FWD(args)...);
4159
229k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
253k
            [](float_reader<CharT>& r, auto&&... args) {
4158
253k
                return r.read_source(SCN_FWD(args)...);
4159
253k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
256k
            [](float_reader<CharT>& r, auto&&... args) {
4158
256k
                return r.read_source(SCN_FWD(args)...);
4159
256k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
28.4k
            [](float_reader<CharT>& r, auto&&... args) {
4158
28.4k
                return r.read_source(SCN_FWD(args)...);
4159
28.4k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
29.0k
            [](float_reader<CharT>& r, auto&&... args) {
4158
29.0k
                return r.read_source(SCN_FWD(args)...);
4159
29.0k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
28.6k
            [](float_reader<CharT>& r, auto&&... args) {
4158
28.6k
                return r.read_source(SCN_FWD(args)...);
4159
28.6k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
28.4k
            [](float_reader<CharT>& r, auto&&... args) {
4158
28.4k
                return r.read_source(SCN_FWD(args)...);
4159
28.4k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
28.5k
            [](float_reader<CharT>& r, auto&&... args) {
4158
28.5k
                return r.read_source(SCN_FWD(args)...);
4159
28.5k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
28.6k
            [](float_reader<CharT>& r, auto&&... args) {
4158
28.6k
                return r.read_source(SCN_FWD(args)...);
4159
28.6k
            },
4160
1.69M
            value);
4161
1.69M
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
241k
    {
4152
241k
        SCN_UNUSED(loc);
4153
4154
241k
        float_reader<CharT> rd{};
4155
241k
        return read_impl<Range>(
4156
241k
            range, rd,
4157
241k
            [](float_reader<CharT>& r, auto&&... args) {
4158
241k
                return r.read_source(SCN_FWD(args)...);
4159
241k
            },
4160
241k
            value);
4161
241k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
267k
    {
4152
267k
        SCN_UNUSED(loc);
4153
4154
267k
        float_reader<CharT> rd{};
4155
267k
        return read_impl<Range>(
4156
267k
            range, rd,
4157
267k
            [](float_reader<CharT>& r, auto&&... args) {
4158
267k
                return r.read_source(SCN_FWD(args)...);
4159
267k
            },
4160
267k
            value);
4161
267k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
271k
    {
4152
271k
        SCN_UNUSED(loc);
4153
4154
271k
        float_reader<CharT> rd{};
4155
271k
        return read_impl<Range>(
4156
271k
            range, rd,
4157
271k
            [](float_reader<CharT>& r, auto&&... args) {
4158
271k
                return r.read_source(SCN_FWD(args)...);
4159
271k
            },
4160
271k
            value);
4161
271k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
229k
    {
4152
229k
        SCN_UNUSED(loc);
4153
4154
229k
        float_reader<CharT> rd{};
4155
229k
        return read_impl<Range>(
4156
229k
            range, rd,
4157
229k
            [](float_reader<CharT>& r, auto&&... args) {
4158
229k
                return r.read_source(SCN_FWD(args)...);
4159
229k
            },
4160
229k
            value);
4161
229k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
253k
    {
4152
253k
        SCN_UNUSED(loc);
4153
4154
253k
        float_reader<CharT> rd{};
4155
253k
        return read_impl<Range>(
4156
253k
            range, rd,
4157
253k
            [](float_reader<CharT>& r, auto&&... args) {
4158
253k
                return r.read_source(SCN_FWD(args)...);
4159
253k
            },
4160
253k
            value);
4161
253k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
256k
    {
4152
256k
        SCN_UNUSED(loc);
4153
4154
256k
        float_reader<CharT> rd{};
4155
256k
        return read_impl<Range>(
4156
256k
            range, rd,
4157
256k
            [](float_reader<CharT>& r, auto&&... args) {
4158
256k
                return r.read_source(SCN_FWD(args)...);
4159
256k
            },
4160
256k
            value);
4161
256k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
28.4k
    {
4152
28.4k
        SCN_UNUSED(loc);
4153
4154
28.4k
        float_reader<CharT> rd{};
4155
28.4k
        return read_impl<Range>(
4156
28.4k
            range, rd,
4157
28.4k
            [](float_reader<CharT>& r, auto&&... args) {
4158
28.4k
                return r.read_source(SCN_FWD(args)...);
4159
28.4k
            },
4160
28.4k
            value);
4161
28.4k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
29.0k
    {
4152
29.0k
        SCN_UNUSED(loc);
4153
4154
29.0k
        float_reader<CharT> rd{};
4155
29.0k
        return read_impl<Range>(
4156
29.0k
            range, rd,
4157
29.0k
            [](float_reader<CharT>& r, auto&&... args) {
4158
29.0k
                return r.read_source(SCN_FWD(args)...);
4159
29.0k
            },
4160
29.0k
            value);
4161
29.0k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
28.6k
    {
4152
28.6k
        SCN_UNUSED(loc);
4153
4154
28.6k
        float_reader<CharT> rd{};
4155
28.6k
        return read_impl<Range>(
4156
28.6k
            range, rd,
4157
28.6k
            [](float_reader<CharT>& r, auto&&... args) {
4158
28.6k
                return r.read_source(SCN_FWD(args)...);
4159
28.6k
            },
4160
28.6k
            value);
4161
28.6k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
28.4k
    {
4152
28.4k
        SCN_UNUSED(loc);
4153
4154
28.4k
        float_reader<CharT> rd{};
4155
28.4k
        return read_impl<Range>(
4156
28.4k
            range, rd,
4157
28.4k
            [](float_reader<CharT>& r, auto&&... args) {
4158
28.4k
                return r.read_source(SCN_FWD(args)...);
4159
28.4k
            },
4160
28.4k
            value);
4161
28.4k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
28.5k
    {
4152
28.5k
        SCN_UNUSED(loc);
4153
4154
28.5k
        float_reader<CharT> rd{};
4155
28.5k
        return read_impl<Range>(
4156
28.5k
            range, rd,
4157
28.5k
            [](float_reader<CharT>& r, auto&&... args) {
4158
28.5k
                return r.read_source(SCN_FWD(args)...);
4159
28.5k
            },
4160
28.5k
            value);
4161
28.5k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
28.6k
    {
4152
28.6k
        SCN_UNUSED(loc);
4153
4154
28.6k
        float_reader<CharT> rd{};
4155
28.6k
        return read_impl<Range>(
4156
28.6k
            range, rd,
4157
28.6k
            [](float_reader<CharT>& r, auto&&... args) {
4158
28.6k
                return r.read_source(SCN_FWD(args)...);
4159
28.6k
            },
4160
28.6k
            value);
4161
28.6k
    }
4162
4163
    template <typename Range, typename T>
4164
    auto read_specs(Range range,
4165
                    const detail::format_specs& specs,
4166
                    T& value,
4167
                    detail::locale_ref loc)
4168
        -> scan_expected<ranges::const_iterator_t<Range>>
4169
4.23M
    {
4170
4.23M
        float_reader<CharT> rd{get_options(specs)};
4171
4172
4.23M
#if !SCN_DISABLE_LOCALE
4173
4.23M
        if (specs.localized) {
4174
1.17M
            return read_impl<Range>(
4175
1.17M
                range, rd,
4176
1.17M
                [](float_reader<CharT>& r, auto&&... args) {
4177
1.17M
                    return r.read_source_localized(SCN_FWD(args)...);
4178
1.17M
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
168k
                [](float_reader<CharT>& r, auto&&... args) {
4177
168k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
168k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
160k
                [](float_reader<CharT>& r, auto&&... args) {
4177
160k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
160k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
185k
                [](float_reader<CharT>& r, auto&&... args) {
4177
185k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
185k
                },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4176
8
                [](float_reader<CharT>& r, auto&&... args) {
4177
8
                    return r.read_source_localized(SCN_FWD(args)...);
4178
8
                },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
177k
                [](float_reader<CharT>& r, auto&&... args) {
4177
177k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
177k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
189k
                [](float_reader<CharT>& r, auto&&... args) {
4177
189k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
189k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
180k
                [](float_reader<CharT>& r, auto&&... args) {
4177
180k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
180k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
18.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
18.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
18.9k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
18.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
18.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
18.9k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
19.0k
                [](float_reader<CharT>& r, auto&&... args) {
4177
19.0k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
19.0k
                },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4176
6
                [](float_reader<CharT>& r, auto&&... args) {
4177
6
                    return r.read_source_localized(SCN_FWD(args)...);
4178
6
                },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
19.0k
                [](float_reader<CharT>& r, auto&&... args) {
4177
19.0k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
19.0k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
19.0k
                [](float_reader<CharT>& r, auto&&... args) {
4177
19.0k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
19.0k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
19.1k
                [](float_reader<CharT>& r, auto&&... args) {
4177
19.1k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
19.1k
                },
4179
1.17M
                value, loc);
4180
1.17M
        }
4181
3.05M
#endif
4182
4183
3.05M
        return read_impl<Range>(
4184
3.05M
            range, rd,
4185
3.05M
            [](float_reader<CharT>& r, auto&&... args) {
4186
3.05M
                return r.read_source(SCN_FWD(args)...);
4187
3.05M
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
430k
            [](float_reader<CharT>& r, auto&&... args) {
4186
430k
                return r.read_source(SCN_FWD(args)...);
4187
430k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
413k
            [](float_reader<CharT>& r, auto&&... args) {
4186
413k
                return r.read_source(SCN_FWD(args)...);
4187
413k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
454k
            [](float_reader<CharT>& r, auto&&... args) {
4186
454k
                return r.read_source(SCN_FWD(args)...);
4187
454k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4185
262
            [](float_reader<CharT>& r, auto&&... args) {
4186
262
                return r.read_source(SCN_FWD(args)...);
4187
262
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
435k
            [](float_reader<CharT>& r, auto&&... args) {
4186
435k
                return r.read_source(SCN_FWD(args)...);
4187
435k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
458k
            [](float_reader<CharT>& r, auto&&... args) {
4186
458k
                return r.read_source(SCN_FWD(args)...);
4187
458k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
438k
            [](float_reader<CharT>& r, auto&&... args) {
4186
438k
                return r.read_source(SCN_FWD(args)...);
4187
438k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
70.9k
            [](float_reader<CharT>& r, auto&&... args) {
4186
70.9k
                return r.read_source(SCN_FWD(args)...);
4187
70.9k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
70.9k
            [](float_reader<CharT>& r, auto&&... args) {
4186
70.9k
                return r.read_source(SCN_FWD(args)...);
4187
70.9k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
70.9k
            [](float_reader<CharT>& r, auto&&... args) {
4186
70.9k
                return r.read_source(SCN_FWD(args)...);
4187
70.9k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4185
118
            [](float_reader<CharT>& r, auto&&... args) {
4186
118
                return r.read_source(SCN_FWD(args)...);
4187
118
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
71.3k
            [](float_reader<CharT>& r, auto&&... args) {
4186
71.3k
                return r.read_source(SCN_FWD(args)...);
4187
71.3k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
71.1k
            [](float_reader<CharT>& r, auto&&... args) {
4186
71.1k
                return r.read_source(SCN_FWD(args)...);
4187
71.1k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
71.1k
            [](float_reader<CharT>& r, auto&&... args) {
4186
71.1k
                return r.read_source(SCN_FWD(args)...);
4187
71.1k
            },
4188
3.05M
            value);
4189
4.23M
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
599k
    {
4170
599k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
599k
#if !SCN_DISABLE_LOCALE
4173
599k
        if (specs.localized) {
4174
168k
            return read_impl<Range>(
4175
168k
                range, rd,
4176
168k
                [](float_reader<CharT>& r, auto&&... args) {
4177
168k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
168k
                },
4179
168k
                value, loc);
4180
168k
        }
4181
430k
#endif
4182
4183
430k
        return read_impl<Range>(
4184
430k
            range, rd,
4185
430k
            [](float_reader<CharT>& r, auto&&... args) {
4186
430k
                return r.read_source(SCN_FWD(args)...);
4187
430k
            },
4188
430k
            value);
4189
599k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
573k
    {
4170
573k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
573k
#if !SCN_DISABLE_LOCALE
4173
573k
        if (specs.localized) {
4174
160k
            return read_impl<Range>(
4175
160k
                range, rd,
4176
160k
                [](float_reader<CharT>& r, auto&&... args) {
4177
160k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
160k
                },
4179
160k
                value, loc);
4180
160k
        }
4181
413k
#endif
4182
4183
413k
        return read_impl<Range>(
4184
413k
            range, rd,
4185
413k
            [](float_reader<CharT>& r, auto&&... args) {
4186
413k
                return r.read_source(SCN_FWD(args)...);
4187
413k
            },
4188
413k
            value);
4189
573k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
640k
    {
4170
640k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
640k
#if !SCN_DISABLE_LOCALE
4173
640k
        if (specs.localized) {
4174
185k
            return read_impl<Range>(
4175
185k
                range, rd,
4176
185k
                [](float_reader<CharT>& r, auto&&... args) {
4177
185k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
185k
                },
4179
185k
                value, loc);
4180
185k
        }
4181
454k
#endif
4182
4183
454k
        return read_impl<Range>(
4184
454k
            range, rd,
4185
454k
            [](float_reader<CharT>& r, auto&&... args) {
4186
454k
                return r.read_source(SCN_FWD(args)...);
4187
454k
            },
4188
454k
            value);
4189
640k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4169
270
    {
4170
270
        float_reader<CharT> rd{get_options(specs)};
4171
4172
270
#if !SCN_DISABLE_LOCALE
4173
270
        if (specs.localized) {
4174
8
            return read_impl<Range>(
4175
8
                range, rd,
4176
8
                [](float_reader<CharT>& r, auto&&... args) {
4177
8
                    return r.read_source_localized(SCN_FWD(args)...);
4178
8
                },
4179
8
                value, loc);
4180
8
        }
4181
262
#endif
4182
4183
262
        return read_impl<Range>(
4184
262
            range, rd,
4185
262
            [](float_reader<CharT>& r, auto&&... args) {
4186
262
                return r.read_source(SCN_FWD(args)...);
4187
262
            },
4188
262
            value);
4189
270
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
613k
    {
4170
613k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
613k
#if !SCN_DISABLE_LOCALE
4173
613k
        if (specs.localized) {
4174
177k
            return read_impl<Range>(
4175
177k
                range, rd,
4176
177k
                [](float_reader<CharT>& r, auto&&... args) {
4177
177k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
177k
                },
4179
177k
                value, loc);
4180
177k
        }
4181
435k
#endif
4182
4183
435k
        return read_impl<Range>(
4184
435k
            range, rd,
4185
435k
            [](float_reader<CharT>& r, auto&&... args) {
4186
435k
                return r.read_source(SCN_FWD(args)...);
4187
435k
            },
4188
435k
            value);
4189
613k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
647k
    {
4170
647k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
647k
#if !SCN_DISABLE_LOCALE
4173
647k
        if (specs.localized) {
4174
189k
            return read_impl<Range>(
4175
189k
                range, rd,
4176
189k
                [](float_reader<CharT>& r, auto&&... args) {
4177
189k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
189k
                },
4179
189k
                value, loc);
4180
189k
        }
4181
458k
#endif
4182
4183
458k
        return read_impl<Range>(
4184
458k
            range, rd,
4185
458k
            [](float_reader<CharT>& r, auto&&... args) {
4186
458k
                return r.read_source(SCN_FWD(args)...);
4187
458k
            },
4188
458k
            value);
4189
647k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
619k
    {
4170
619k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
619k
#if !SCN_DISABLE_LOCALE
4173
619k
        if (specs.localized) {
4174
180k
            return read_impl<Range>(
4175
180k
                range, rd,
4176
180k
                [](float_reader<CharT>& r, auto&&... args) {
4177
180k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
180k
                },
4179
180k
                value, loc);
4180
180k
        }
4181
438k
#endif
4182
4183
438k
        return read_impl<Range>(
4184
438k
            range, rd,
4185
438k
            [](float_reader<CharT>& r, auto&&... args) {
4186
438k
                return r.read_source(SCN_FWD(args)...);
4187
438k
            },
4188
438k
            value);
4189
619k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
89.8k
    {
4170
89.8k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
89.8k
#if !SCN_DISABLE_LOCALE
4173
89.8k
        if (specs.localized) {
4174
18.9k
            return read_impl<Range>(
4175
18.9k
                range, rd,
4176
18.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
18.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
18.9k
                },
4179
18.9k
                value, loc);
4180
18.9k
        }
4181
70.9k
#endif
4182
4183
70.9k
        return read_impl<Range>(
4184
70.9k
            range, rd,
4185
70.9k
            [](float_reader<CharT>& r, auto&&... args) {
4186
70.9k
                return r.read_source(SCN_FWD(args)...);
4187
70.9k
            },
4188
70.9k
            value);
4189
89.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
89.9k
    {
4170
89.9k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
89.9k
#if !SCN_DISABLE_LOCALE
4173
89.9k
        if (specs.localized) {
4174
18.9k
            return read_impl<Range>(
4175
18.9k
                range, rd,
4176
18.9k
                [](float_reader<CharT>& r, auto&&... args) {
4177
18.9k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
18.9k
                },
4179
18.9k
                value, loc);
4180
18.9k
        }
4181
70.9k
#endif
4182
4183
70.9k
        return read_impl<Range>(
4184
70.9k
            range, rd,
4185
70.9k
            [](float_reader<CharT>& r, auto&&... args) {
4186
70.9k
                return r.read_source(SCN_FWD(args)...);
4187
70.9k
            },
4188
70.9k
            value);
4189
89.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
89.9k
    {
4170
89.9k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
89.9k
#if !SCN_DISABLE_LOCALE
4173
89.9k
        if (specs.localized) {
4174
19.0k
            return read_impl<Range>(
4175
19.0k
                range, rd,
4176
19.0k
                [](float_reader<CharT>& r, auto&&... args) {
4177
19.0k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
19.0k
                },
4179
19.0k
                value, loc);
4180
19.0k
        }
4181
70.9k
#endif
4182
4183
70.9k
        return read_impl<Range>(
4184
70.9k
            range, rd,
4185
70.9k
            [](float_reader<CharT>& r, auto&&... args) {
4186
70.9k
                return r.read_source(SCN_FWD(args)...);
4187
70.9k
            },
4188
70.9k
            value);
4189
89.9k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4169
124
    {
4170
124
        float_reader<CharT> rd{get_options(specs)};
4171
4172
124
#if !SCN_DISABLE_LOCALE
4173
124
        if (specs.localized) {
4174
6
            return read_impl<Range>(
4175
6
                range, rd,
4176
6
                [](float_reader<CharT>& r, auto&&... args) {
4177
6
                    return r.read_source_localized(SCN_FWD(args)...);
4178
6
                },
4179
6
                value, loc);
4180
6
        }
4181
118
#endif
4182
4183
118
        return read_impl<Range>(
4184
118
            range, rd,
4185
118
            [](float_reader<CharT>& r, auto&&... args) {
4186
118
                return r.read_source(SCN_FWD(args)...);
4187
118
            },
4188
118
            value);
4189
124
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
90.3k
    {
4170
90.3k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
90.3k
#if !SCN_DISABLE_LOCALE
4173
90.3k
        if (specs.localized) {
4174
19.0k
            return read_impl<Range>(
4175
19.0k
                range, rd,
4176
19.0k
                [](float_reader<CharT>& r, auto&&... args) {
4177
19.0k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
19.0k
                },
4179
19.0k
                value, loc);
4180
19.0k
        }
4181
71.3k
#endif
4182
4183
71.3k
        return read_impl<Range>(
4184
71.3k
            range, rd,
4185
71.3k
            [](float_reader<CharT>& r, auto&&... args) {
4186
71.3k
                return r.read_source(SCN_FWD(args)...);
4187
71.3k
            },
4188
71.3k
            value);
4189
90.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
90.1k
    {
4170
90.1k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
90.1k
#if !SCN_DISABLE_LOCALE
4173
90.1k
        if (specs.localized) {
4174
19.0k
            return read_impl<Range>(
4175
19.0k
                range, rd,
4176
19.0k
                [](float_reader<CharT>& r, auto&&... args) {
4177
19.0k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
19.0k
                },
4179
19.0k
                value, loc);
4180
19.0k
        }
4181
71.1k
#endif
4182
4183
71.1k
        return read_impl<Range>(
4184
71.1k
            range, rd,
4185
71.1k
            [](float_reader<CharT>& r, auto&&... args) {
4186
71.1k
                return r.read_source(SCN_FWD(args)...);
4187
71.1k
            },
4188
71.1k
            value);
4189
90.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
90.2k
    {
4170
90.2k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
90.2k
#if !SCN_DISABLE_LOCALE
4173
90.2k
        if (specs.localized) {
4174
19.1k
            return read_impl<Range>(
4175
19.1k
                range, rd,
4176
19.1k
                [](float_reader<CharT>& r, auto&&... args) {
4177
19.1k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
19.1k
                },
4179
19.1k
                value, loc);
4180
19.1k
        }
4181
71.1k
#endif
4182
4183
71.1k
        return read_impl<Range>(
4184
71.1k
            range, rd,
4185
71.1k
            [](float_reader<CharT>& r, auto&&... args) {
4186
71.1k
                return r.read_source(SCN_FWD(args)...);
4187
71.1k
            },
4188
71.1k
            value);
4189
90.2k
    }
4190
4191
private:
4192
    template <typename Range>
4193
    using read_source_callback_type =
4194
        scan_expected<ranges::const_iterator_t<Range>>(float_reader<CharT>&,
4195
                                                       Range,
4196
                                                       detail::locale_ref);
4197
4198
    template <typename Range, typename T>
4199
    scan_expected<ranges::const_iterator_t<Range>> read_impl(
4200
        Range range,
4201
        float_reader<CharT>& rd,
4202
        function_ref<read_source_callback_type<Range>> read_source_cb,
4203
        T& value,
4204
        detail::locale_ref loc = {})
4205
5.92M
    {
4206
5.92M
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
5.92M
            SCN_UNLIKELY(!r)) {
4208
535k
            return unexpected(r.error());
4209
535k
        }
4210
4211
5.39M
        SCN_TRY(n, rd.parse_value(value));
4212
5.18M
        return ranges::next(range.begin(), n);
4213
5.39M
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
828k
    {
4206
828k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
828k
            SCN_UNLIKELY(!r)) {
4208
29.4k
            return unexpected(r.error());
4209
29.4k
        }
4210
4211
799k
        SCN_TRY(n, rd.parse_value(value));
4212
793k
        return ranges::next(range.begin(), n);
4213
799k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
815k
    {
4206
815k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
815k
            SCN_UNLIKELY(!r)) {
4208
17.2k
            return unexpected(r.error());
4209
17.2k
        }
4210
4211
798k
        SCN_TRY(n, rd.parse_value(value));
4212
778k
        return ranges::next(range.begin(), n);
4213
798k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
893k
    {
4206
893k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
893k
            SCN_UNLIKELY(!r)) {
4208
31.7k
            return unexpected(r.error());
4209
31.7k
        }
4210
4211
861k
        SCN_TRY(n, rd.parse_value(value));
4212
859k
        return ranges::next(range.begin(), n);
4213
861k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
270
    {
4206
270
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
270
            SCN_UNLIKELY(!r)) {
4208
270
            return unexpected(r.error());
4209
270
        }
4210
4211
0
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
0
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
881k
    {
4206
881k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
881k
            SCN_UNLIKELY(!r)) {
4208
18.0k
            return unexpected(r.error());
4209
18.0k
        }
4210
4211
863k
        SCN_TRY(n, rd.parse_value(value));
4212
844k
        return ranges::next(range.begin(), n);
4213
863k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
903k
    {
4206
903k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
903k
            SCN_UNLIKELY(!r)) {
4208
33.0k
            return unexpected(r.error());
4209
33.0k
        }
4210
4211
870k
        SCN_TRY(n, rd.parse_value(value));
4212
869k
        return ranges::next(range.begin(), n);
4213
870k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
891k
    {
4206
891k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
891k
            SCN_UNLIKELY(!r)) {
4208
18.4k
            return unexpected(r.error());
4209
18.4k
        }
4210
4211
872k
        SCN_TRY(n, rd.parse_value(value));
4212
855k
        return ranges::next(range.begin(), n);
4213
872k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
118k
    {
4206
118k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
118k
            SCN_UNLIKELY(!r)) {
4208
88.0k
            return unexpected(r.error());
4209
88.0k
        }
4210
4211
30.3k
        SCN_TRY(n, rd.parse_value(value));
4212
29.8k
        return ranges::next(range.begin(), n);
4213
30.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
118k
    {
4206
118k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
118k
            SCN_UNLIKELY(!r)) {
4208
40.7k
            return unexpected(r.error());
4209
40.7k
        }
4210
4211
77.6k
        SCN_TRY(n, rd.parse_value(value));
4212
29.9k
        return ranges::next(range.begin(), n);
4213
77.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
118k
    {
4206
118k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
118k
            SCN_UNLIKELY(!r)) {
4208
88.1k
            return unexpected(r.error());
4209
88.1k
        }
4210
4211
30.3k
        SCN_TRY(n, rd.parse_value(value));
4212
30.0k
        return ranges::next(range.begin(), n);
4213
30.3k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
124
    {
4206
124
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
124
            SCN_UNLIKELY(!r)) {
4208
124
            return unexpected(r.error());
4209
124
        }
4210
4211
0
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
0
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
119k
    {
4206
119k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
119k
            SCN_UNLIKELY(!r)) {
4208
40.8k
            return unexpected(r.error());
4209
40.8k
        }
4210
4211
78.5k
        SCN_TRY(n, rd.parse_value(value));
4212
30.1k
        return ranges::next(range.begin(), n);
4213
78.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
118k
    {
4206
118k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
118k
            SCN_UNLIKELY(!r)) {
4208
88.3k
            return unexpected(r.error());
4209
88.3k
        }
4210
4211
30.4k
        SCN_TRY(n, rd.parse_value(value));
4212
30.4k
        return ranges::next(range.begin(), n);
4213
30.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
118k
    {
4206
118k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
118k
            SCN_UNLIKELY(!r)) {
4208
40.9k
            return unexpected(r.error());
4209
40.9k
        }
4210
4211
77.9k
        SCN_TRY(n, rd.parse_value(value));
4212
30.4k
        return ranges::next(range.begin(), n);
4213
77.9k
    }
4214
4215
    static unsigned get_options(const detail::format_specs& specs)
4216
4.23M
    {
4217
4.23M
        unsigned options{};
4218
4.23M
        if (specs.localized) {
4219
1.17M
            options |= float_reader_base::allow_thsep;
4220
1.17M
        }
4221
4222
4.23M
        SCN_GCC_COMPAT_PUSH
4223
4.23M
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
4.23M
        switch (specs.type) {
4226
593k
            case detail::presentation_type::float_fixed:
4227
593k
                return options | float_reader_base::allow_fixed;
4228
4229
153k
            case detail::presentation_type::float_scientific:
4230
153k
                return options | float_reader_base::allow_scientific;
4231
4232
1.30M
            case detail::presentation_type::float_hex:
4233
1.30M
                return options | float_reader_base::allow_hex;
4234
4235
1.00M
            case detail::presentation_type::float_general:
4236
1.00M
                return options | float_reader_base::allow_scientific |
4237
1.00M
                       float_reader_base::allow_fixed;
4238
4239
1.17M
            case detail::presentation_type::none:
4240
1.17M
                return options | float_reader_base::allow_scientific |
4241
1.17M
                       float_reader_base::allow_fixed |
4242
1.17M
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
4.23M
                SCN_UNREACHABLE;
4247
4.23M
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
4.23M
    }
scn::v3::impl::reader_impl_for_float<char>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
4216
3.69M
    {
4217
3.69M
        unsigned options{};
4218
3.69M
        if (specs.localized) {
4219
1.06M
            options |= float_reader_base::allow_thsep;
4220
1.06M
        }
4221
4222
3.69M
        SCN_GCC_COMPAT_PUSH
4223
3.69M
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
3.69M
        switch (specs.type) {
4226
479k
            case detail::presentation_type::float_fixed:
4227
479k
                return options | float_reader_base::allow_fixed;
4228
4229
70.6k
            case detail::presentation_type::float_scientific:
4230
70.6k
                return options | float_reader_base::allow_scientific;
4231
4232
1.18M
            case detail::presentation_type::float_hex:
4233
1.18M
                return options | float_reader_base::allow_hex;
4234
4235
894k
            case detail::presentation_type::float_general:
4236
894k
                return options | float_reader_base::allow_scientific |
4237
894k
                       float_reader_base::allow_fixed;
4238
4239
1.06M
            case detail::presentation_type::none:
4240
1.06M
                return options | float_reader_base::allow_scientific |
4241
1.06M
                       float_reader_base::allow_fixed |
4242
1.06M
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
3.69M
                SCN_UNREACHABLE;
4247
3.69M
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
3.69M
    }
scn::v3::impl::reader_impl_for_float<wchar_t>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
4216
540k
    {
4217
540k
        unsigned options{};
4218
540k
        if (specs.localized) {
4219
114k
            options |= float_reader_base::allow_thsep;
4220
114k
        }
4221
4222
540k
        SCN_GCC_COMPAT_PUSH
4223
540k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
540k
        switch (specs.type) {
4226
114k
            case detail::presentation_type::float_fixed:
4227
114k
                return options | float_reader_base::allow_fixed;
4228
4229
82.5k
            case detail::presentation_type::float_scientific:
4230
82.5k
                return options | float_reader_base::allow_scientific;
4231
4232
114k
            case detail::presentation_type::float_hex:
4233
114k
                return options | float_reader_base::allow_hex;
4234
4235
114k
            case detail::presentation_type::float_general:
4236
114k
                return options | float_reader_base::allow_scientific |
4237
114k
                       float_reader_base::allow_fixed;
4238
4239
114k
            case detail::presentation_type::none:
4240
114k
                return options | float_reader_base::allow_scientific |
4241
114k
                       float_reader_base::allow_fixed |
4242
114k
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
540k
                SCN_UNREACHABLE;
4247
540k
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
540k
    }
4251
};
4252
4253
/////////////////////////////////////////////////////////////////
4254
// Regex reader
4255
/////////////////////////////////////////////////////////////////
4256
4257
// Forward declaration for C++17 compatibility with regex disabled
4258
template <typename CharT, typename Input>
4259
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4260
                             detail::regex_flags flags,
4261
                             Input input,
4262
                             basic_regex_matches<CharT>& value)
4263
    -> scan_expected<ranges::iterator_t<Input>>;
4264
4265
#if !SCN_DISABLE_REGEX
4266
4267
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4268
constexpr auto make_regex_flags(detail::regex_flags flags)
4269
    -> scan_expected<std::regex_constants::syntax_option_type>
4270
13.2k
{
4271
13.2k
    std::regex_constants::syntax_option_type result{};
4272
13.2k
    if ((flags & detail::regex_flags::multiline) != detail::regex_flags::none) {
4273
240
#if SCN_HAS_STD_REGEX_MULTILINE
4274
240
        result |= std::regex_constants::multiline;
4275
#else
4276
        return unexpected_scan_error(
4277
            scan_error::invalid_format_string,
4278
            "/m flag for regex isn't supported by regex backend");
4279
#endif
4280
240
    }
4281
13.2k
    if ((flags & detail::regex_flags::singleline) !=
4282
13.2k
        detail::regex_flags::none) {
4283
0
        return unexpected_scan_error(
4284
0
            scan_error::invalid_format_string,
4285
0
            "/s flag for regex isn't supported by regex backend");
4286
0
    }
4287
13.2k
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4288
1.28k
        result |= std::regex_constants::icase;
4289
1.28k
    }
4290
13.2k
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4291
12
        result |= std::regex_constants::nosubs;
4292
12
    }
4293
13.2k
    return result;
4294
13.2k
}
4295
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4296
constexpr auto make_regex_flags(detail::regex_flags flags)
4297
    -> boost::regex_constants::syntax_option_type
4298
{
4299
    boost::regex_constants::syntax_option_type result{};
4300
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4301
        result |= boost::regex_constants::no_mod_m;
4302
    }
4303
    if ((flags & detail::regex_flags::singleline) !=
4304
        detail::regex_flags::none) {
4305
        result |= boost::regex_constants::mod_s;
4306
    }
4307
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4308
        result |= boost::regex_constants::icase;
4309
    }
4310
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4311
        result |= boost::regex_constants::nosubs;
4312
    }
4313
    return result;
4314
}
4315
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4316
inline auto make_regex_flags(detail::regex_flags flags)
4317
    -> std::pair<RE2::Options, std::string_view>
4318
{
4319
    RE2::Options opt{RE2::Quiet};
4320
    std::string_view stringflags{};
4321
4322
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4323
        stringflags = "(?m)";
4324
    }
4325
    if ((flags & detail::regex_flags::singleline) !=
4326
        detail::regex_flags::none) {
4327
        opt.set_dot_nl(true);
4328
    }
4329
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4330
        opt.set_case_sensitive(false);
4331
    }
4332
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4333
        opt.set_never_capture(true);
4334
    }
4335
4336
    return {opt, stringflags};
4337
}
4338
#endif  // SCN_REGEX_BACKEND == ...
4339
4340
template <typename CharT, typename Input>
4341
auto read_regex_string_impl(std::basic_string_view<CharT> pattern,
4342
                            detail::regex_flags flags,
4343
                            Input input)
4344
    -> scan_expected<ranges::iterator_t<Input>>
4345
13.2k
{
4346
13.2k
    static_assert(ranges::contiguous_range<Input> &&
4347
13.2k
                  ranges::borrowed_range<Input> &&
4348
13.2k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
13.2k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
13.2k
    std::basic_regex<CharT> re{};
4352
13.2k
    try {
4353
13.2k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
13.2k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
13.2k
                                     re_flags | std::regex_constants::nosubs};
4356
13.2k
    }
4357
13.2k
    catch (const std::regex_error& err) {
4358
6.74k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
6.74k
                                     "Invalid regex");
4360
6.74k
    }
4361
4362
6.51k
    std::match_results<const CharT*> matches{};
4363
6.51k
    try {
4364
6.51k
        bool found = std::regex_search(input.data(),
4365
6.51k
                                       input.data() + input.size(), matches, re,
4366
6.51k
                                       std::regex_constants::match_continuous);
4367
6.51k
        if (!found || matches.prefix().matched) {
4368
4.59k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
4.59k
                                         "Regular expression didn't match");
4370
4.59k
        }
4371
6.51k
    }
4372
6.51k
    catch (const std::regex_error& err) {
4373
150
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
150
                                     "Regex matching failed with an error");
4375
150
    }
4376
4377
1.77k
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
6.51k
}
Unexecuted instantiation: _ZN3scn2v34impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v34impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4345
9.43k
{
4346
9.43k
    static_assert(ranges::contiguous_range<Input> &&
4347
9.43k
                  ranges::borrowed_range<Input> &&
4348
9.43k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
9.43k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
9.43k
    std::basic_regex<CharT> re{};
4352
9.43k
    try {
4353
9.43k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
9.43k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
9.43k
                                     re_flags | std::regex_constants::nosubs};
4356
9.43k
    }
4357
9.43k
    catch (const std::regex_error& err) {
4358
5.04k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
5.04k
                                     "Invalid regex");
4360
5.04k
    }
4361
4362
4.38k
    std::match_results<const CharT*> matches{};
4363
4.38k
    try {
4364
4.38k
        bool found = std::regex_search(input.data(),
4365
4.38k
                                       input.data() + input.size(), matches, re,
4366
4.38k
                                       std::regex_constants::match_continuous);
4367
4.38k
        if (!found || matches.prefix().matched) {
4368
2.62k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
2.62k
                                         "Regular expression didn't match");
4370
2.62k
        }
4371
4.38k
    }
4372
4.38k
    catch (const std::regex_error& err) {
4373
150
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
150
                                     "Regex matching failed with an error");
4375
150
    }
4376
4377
1.61k
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
4.38k
}
Unexecuted instantiation: _ZN3scn2v34impl22read_regex_string_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v34impl22read_regex_string_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4345
3.82k
{
4346
3.82k
    static_assert(ranges::contiguous_range<Input> &&
4347
3.82k
                  ranges::borrowed_range<Input> &&
4348
3.82k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
3.82k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
3.82k
    std::basic_regex<CharT> re{};
4352
3.82k
    try {
4353
3.82k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
3.82k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
3.82k
                                     re_flags | std::regex_constants::nosubs};
4356
3.82k
    }
4357
3.82k
    catch (const std::regex_error& err) {
4358
1.69k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
1.69k
                                     "Invalid regex");
4360
1.69k
    }
4361
4362
2.13k
    std::match_results<const CharT*> matches{};
4363
2.13k
    try {
4364
2.13k
        bool found = std::regex_search(input.data(),
4365
2.13k
                                       input.data() + input.size(), matches, re,
4366
2.13k
                                       std::regex_constants::match_continuous);
4367
2.13k
        if (!found || matches.prefix().matched) {
4368
1.97k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
1.97k
                                         "Regular expression didn't match");
4370
1.97k
        }
4371
2.13k
    }
4372
2.13k
    catch (const std::regex_error& err) {
4373
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
0
                                     "Regex matching failed with an error");
4375
0
    }
4376
4377
156
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
2.13k
}
4448
4449
template <typename CharT, typename Input>
4450
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4451
                             detail::regex_flags flags,
4452
                             Input input,
4453
                             basic_regex_matches<CharT>& value)
4454
    -> scan_expected<ranges::iterator_t<Input>>
4455
0
{
4456
0
    static_assert(ranges::contiguous_range<Input> &&
4457
0
                  ranges::borrowed_range<Input> &&
4458
0
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4459
4460
0
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4461
0
    std::basic_regex<CharT> re{};
4462
0
    try {
4463
0
        SCN_TRY(re_flags, make_regex_flags(flags));
4464
0
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(), re_flags};
4465
0
    }
4466
0
    catch (const std::regex_error& err) {
4467
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4468
0
                                     "Invalid regex");
4469
0
    }
4470
4471
0
    std::match_results<const CharT*> matches{};
4472
0
    try {
4473
0
        bool found = std::regex_search(input.data(),
4474
0
                                       input.data() + input.size(), matches, re,
4475
0
                                       std::regex_constants::match_continuous);
4476
0
        if (!found || matches.prefix().matched) {
4477
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4478
0
                                         "Regular expression didn't match");
4479
0
        }
4480
0
    }
4481
0
    catch (const std::regex_error& err) {
4482
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4483
0
                                     "Regex matching failed with an error");
4484
0
    }
4485
4486
0
    value.resize(matches.size());
4487
0
    std::transform(matches.begin(), matches.end(), value.begin(),
4488
0
                   [](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4489
0
                       if (!match.matched)
4490
0
                           return std::nullopt;
4491
0
                       return detail::make_string_view_from_pointers(
4492
0
                           match.first, match.second);
4493
0
                   });
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRKNS3_9sub_matchIPKcEEEENS3_8optionalINS0_17basic_regex_matchIcEEEESM_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRKNSF_9sub_matchIS8_EEEENSF_8optionalINS0_17basic_regex_matchIcEEEESQ_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRKNS3_9sub_matchIPKwEEEENS3_8optionalINS0_17basic_regex_matchIwEEEESM_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRKNSF_9sub_matchIS8_EEEENSF_8optionalINS0_17basic_regex_matchIwEEEESQ_
4494
0
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4495
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4496
    std::vector<std::basic_string<CharT>> names;
4497
    for (size_t i = 0; i < pattern.size();) {
4498
        if constexpr (std::is_same_v<CharT, char>) {
4499
            i = pattern.find("(?<", i);
4500
        }
4501
        else {
4502
            i = pattern.find(L"(?<", i);
4503
        }
4504
4505
        if (i == std::basic_string_view<CharT>::npos) {
4506
            break;
4507
        }
4508
        if (i > 0 && pattern[i - 1] == CharT{'\\'}) {
4509
            if (i == 1 || pattern[i - 2] != CharT{'\\'}) {
4510
                i += 3;
4511
                continue;
4512
            }
4513
        }
4514
4515
        i += 3;
4516
        auto end_i = pattern.find(CharT{'>'}, i);
4517
        if (end_i == std::basic_string_view<CharT>::npos) {
4518
            break;
4519
        }
4520
        names.emplace_back(pattern.substr(i, end_i - i));
4521
    }
4522
4523
    auto re =
4524
#if SCN_REGEX_BOOST_USE_ICU
4525
        boost::make_u32regex(
4526
            pattern.data(), pattern.data() + pattern.size(),
4527
            make_regex_flags(flags) | boost::regex_constants::no_except);
4528
#else
4529
        boost::basic_regex<CharT>{
4530
            pattern.data(), pattern.size(),
4531
            make_regex_flags(flags) | boost::regex_constants::no_except};
4532
#endif
4533
    if (re.status() != 0) {
4534
        return unexpected_scan_error(scan_error::invalid_format_string,
4535
                                     "Invalid regex");
4536
    }
4537
4538
    boost::match_results<const CharT*> matches{};
4539
    try {
4540
        bool found =
4541
#if SCN_REGEX_BOOST_USE_ICU
4542
            boost::u32regex_search(input.data(), input.data() + input.size(),
4543
                                   matches, re,
4544
                                   boost::regex_constants::match_continuous);
4545
#else
4546
            boost::regex_search(input.data(), input.data() + input.size(),
4547
                                matches, re,
4548
                                boost::regex_constants::match_continuous);
4549
#endif
4550
        if (!found || matches.prefix().matched) {
4551
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4552
                                         "Regular expression didn't match");
4553
        }
4554
    }
4555
    catch (const std::runtime_error& err) {
4556
        return unexpected_scan_error(scan_error::invalid_format_string,
4557
                                     "Regex matching failed with an error");
4558
    }
4559
4560
    value.resize(matches.size());
4561
    std::transform(
4562
        matches.begin(), matches.end(), value.begin(),
4563
        [&](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4564
            if (!match.matched)
4565
                return std::nullopt;
4566
            auto sv = detail::make_string_view_from_pointers(match.first,
4567
                                                             match.second);
4568
4569
            if (auto name_it = std::find_if(
4570
                    names.begin(), names.end(),
4571
                    [&](const auto& name) { return match == matches[name]; });
4572
                name_it != names.end()) {
4573
                return basic_regex_match<CharT>{sv, *name_it};
4574
            }
4575
            return sv;
4576
        });
4577
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4578
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4579
    static_assert(std::is_same_v<CharT, char>);
4580
    std::string flagged_pattern{};
4581
    auto re = [&]() {
4582
        auto [opts, flagstr] = make_regex_flags(flags);
4583
        if (flagstr.empty()) {
4584
            return re2::RE2{pattern, opts};
4585
        }
4586
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4587
        flagged_pattern.append(flagstr);
4588
        flagged_pattern.append(pattern);
4589
        return re2::RE2{flagged_pattern, opts};
4590
    }();
4591
    if (!re.ok()) {
4592
        return unexpected_scan_error(scan_error::invalid_format_string,
4593
                                     "Failed to parse regular expression");
4594
    }
4595
    // TODO: Optimize into a single batch allocation
4596
    const auto max_matches_n =
4597
        static_cast<size_t>(re.NumberOfCapturingGroups());
4598
    std::vector<std::optional<std::string_view>> matches(max_matches_n);
4599
    std::vector<re2::RE2::Arg> match_args(max_matches_n);
4600
    std::vector<re2::RE2::Arg*> match_argptrs(max_matches_n);
4601
    std::transform(matches.begin(), matches.end(), match_args.begin(),
4602
                   [](auto& val) { return re2::RE2::Arg{&val}; });
4603
    std::transform(match_args.begin(), match_args.end(), match_argptrs.begin(),
4604
                   [](auto& arg) { return &arg; });
4605
    auto new_input = detail::make_string_view_from_pointers(
4606
        detail::to_address(input.begin()), detail::to_address(input.end()));
4607
    bool found = re2::RE2::ConsumeN(&new_input, re, match_argptrs.data(),
4608
                                    match_argptrs.size());
4609
    if (!found) {
4610
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4611
                                     "Regular expression didn't match");
4612
    }
4613
    value.resize(matches.size() + 1);
4614
    value[0] =
4615
        detail::make_string_view_from_pointers(input.data(), new_input.data());
4616
    std::transform(matches.begin(), matches.end(), value.begin() + 1,
4617
                   [&](auto&& match) -> std::optional<regex_match> {
4618
                       if (!match)
4619
                           return std::nullopt;
4620
                       return *match;
4621
                   });
4622
    {
4623
        const auto& capturing_groups = re.CapturingGroupNames();
4624
        for (size_t i = 1; i < value.size(); ++i) {
4625
            if (auto it = capturing_groups.find(static_cast<int>(i));
4626
                it != capturing_groups.end()) {
4627
                auto val = value[i]->get();
4628
                value[i].emplace(val, it->second);
4629
            };
4630
        }
4631
    }
4632
    return input.begin() + ranges::distance(input.data(), new_input.data());
4633
#endif  // SCN_REGEX_BACKEND == ...
4634
0
}
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
4635
4636
inline std::string get_unescaped_regex_pattern(std::string_view pattern)
4637
846
{
4638
846
    std::string result{pattern};
4639
6.39k
    for (size_t n = 0; (n = result.find("\\/", n)) != std::string::npos;) {
4640
5.55k
        result.replace(n, 2, "/");
4641
5.55k
        ++n;
4642
5.55k
    }
4643
846
    return result;
4644
846
}
4645
inline std::wstring get_unescaped_regex_pattern(std::wstring_view pattern)
4646
102
{
4647
102
    std::wstring result{pattern};
4648
522
    for (size_t n = 0; (n = result.find(L"\\/", n)) != std::wstring::npos;) {
4649
420
        result.replace(n, 2, L"/");
4650
420
        ++n;
4651
420
    }
4652
102
    return result;
4653
102
}
4654
4655
#endif  // !SCN_DISABLE_REGEX
4656
4657
template <typename SourceCharT>
4658
struct regex_matches_reader
4659
    : public reader_base<regex_matches_reader<SourceCharT>, SourceCharT> {
4660
    void check_specs_impl(const detail::format_specs& specs,
4661
                          reader_error_handler& eh)
4662
0
    {
4663
0
        detail::check_regex_type_specs(specs, eh);
4664
0
        SCN_EXPECT(specs.charset_string_data != nullptr);
4665
0
        SCN_EXPECT(specs.charset_string_size > 0);
4666
0
    }
Unexecuted instantiation: scn::v3::impl::regex_matches_reader<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Unexecuted instantiation: scn::v3::impl::regex_matches_reader<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
4667
4668
    template <typename Range, typename DestCharT>
4669
    auto read_default(Range,
4670
                      basic_regex_matches<DestCharT>&,
4671
                      detail::locale_ref = {})
4672
        -> scan_expected<ranges::const_iterator_t<Range>>
4673
0
    {
4674
0
        return unexpected_scan_error(
4675
0
            scan_error::invalid_format_string,
4676
0
            "No regex given in format string for scanning regex_matches");
4677
0
    }
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
4678
4679
    template <typename Range, typename DestCharT>
4680
    auto read_specs(Range range,
4681
                    const detail::format_specs& specs,
4682
                    basic_regex_matches<DestCharT>& value,
4683
                    detail::locale_ref = {})
4684
        -> scan_expected<ranges::const_iterator_t<Range>>
4685
0
    {
4686
0
        if constexpr (!std::is_same_v<SourceCharT, DestCharT>) {
4687
0
            return unexpected_scan_error(
4688
0
                scan_error::invalid_scanned_value,
4689
0
                "Cannot transcode is regex_matches_reader");
4690
0
        }
4691
0
        else if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4692
0
                           !std::is_same_v<SourceCharT, char>) {
4693
0
            return unexpected_scan_error(
4694
0
                scan_error::invalid_scanned_value,
4695
0
                "Regex backend doesn't support wide strings as input");
4696
0
        }
4697
0
        else {
4698
0
            if (!is_entire_source_contiguous(range)) {
4699
0
                return unexpected_scan_error(
4700
0
                    scan_error::invalid_scanned_value,
4701
0
                    "Cannot use regex with a non-contiguous source "
4702
0
                    "range");
4703
0
            }
4704
4705
0
            auto input = get_as_contiguous(range);
4706
0
            SCN_TRY(it,
4707
0
                    impl(input,
4708
0
                         specs.type == detail::presentation_type::regex_escaped,
4709
0
                         specs.charset_string<SourceCharT>(),
4710
0
                         specs.regexp_flags, value));
4711
0
            return ranges::next(range.begin(),
4712
0
                                ranges::distance(input.begin(), it));
4713
0
        }
4714
0
    }
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
4715
4716
private:
4717
    template <typename Range, typename DestCharT>
4718
    auto impl(Range input,
4719
              bool is_escaped,
4720
              std::basic_string_view<SourceCharT> pattern,
4721
              detail::regex_flags flags,
4722
              basic_regex_matches<DestCharT>& value)
4723
0
    {
4724
0
        if constexpr (detail::is_type_disabled<
4725
0
                          basic_regex_matches<DestCharT>>) {
4726
0
            SCN_EXPECT(false);
4727
0
            SCN_UNREACHABLE;
4728
0
        }
4729
0
        else {
4730
0
            if (is_escaped) {
4731
0
                return read_regex_matches_impl<SourceCharT>(
4732
0
                    get_unescaped_regex_pattern(pattern), flags, input, value);
4733
0
            }
4734
0
            return read_regex_matches_impl(pattern, flags, input, value);
4735
0
        }
4736
0
    }
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<char>::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<char>::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<wchar_t>::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<wchar_t>::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<wchar_t>&)
4737
};
4738
4739
template <typename CharT>
4740
struct reader_impl_for_regex_matches : public regex_matches_reader<CharT> {};
4741
4742
/////////////////////////////////////////////////////////////////
4743
// String reader
4744
/////////////////////////////////////////////////////////////////
4745
4746
template <typename Range, typename Iterator, typename ValueCharT>
4747
auto read_string_impl(Range range,
4748
                      Iterator&& result,
4749
                      std::basic_string<ValueCharT>& value)
4750
    -> scan_expected<ranges::const_iterator_t<Range>>
4751
50.2M
{
4752
50.2M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
50.2M
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
50.2M
    if (!validate_unicode(src.view())) {
4756
12.8k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
12.8k
                                     "Invalid encoding in scanned string");
4758
12.8k
    }
4759
50.2M
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
50.2M
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
50.2M
    return SCN_MOVE(result);
4765
50.2M
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Line
Count
Source
4751
168k
{
4752
168k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
168k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
168k
    if (!validate_unicode(src.view())) {
4756
1.59k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
1.59k
                                     "Invalid encoding in scanned string");
4758
1.59k
    }
4759
166k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
166k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
166k
    return SCN_MOVE(result);
4765
166k
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
Line
Count
Source
4751
906
{
4752
906
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
906
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
906
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
906
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
906
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
906
    return SCN_MOVE(result);
4765
906
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
338
{
4752
338
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
338
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
338
    if (!validate_unicode(src.view())) {
4756
142
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
142
                                     "Invalid encoding in scanned string");
4758
142
    }
4759
196
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
196
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
196
    return SCN_MOVE(result);
4765
196
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4751
170
{
4752
170
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
170
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
170
    if (!validate_unicode(src.view())) {
4756
46
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
46
                                     "Invalid encoding in scanned string");
4758
46
    }
4759
124
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
124
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
124
    return SCN_MOVE(result);
4765
124
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
165k
{
4752
165k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
165k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
165k
    if (!validate_unicode(src.view())) {
4756
1.98k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
1.98k
                                     "Invalid encoding in scanned string");
4758
1.98k
    }
4759
163k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
163k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
163k
    return SCN_MOVE(result);
4765
163k
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
2.06k
{
4752
2.06k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
2.06k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
2.06k
    if (!validate_unicode(src.view())) {
4756
110
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
110
                                     "Invalid encoding in scanned string");
4758
110
    }
4759
1.95k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
1.95k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
1.95k
    return SCN_MOVE(result);
4765
1.95k
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
338
{
4752
338
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
338
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
338
    if (!validate_unicode(src.view())) {
4756
142
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
142
                                     "Invalid encoding in scanned string");
4758
142
    }
4759
196
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
196
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
196
    return SCN_MOVE(result);
4765
196
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4751
170
{
4752
170
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
170
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
170
    if (!validate_unicode(src.view())) {
4756
46
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
46
                                     "Invalid encoding in scanned string");
4758
46
    }
4759
124
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
124
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
124
    return SCN_MOVE(result);
4765
124
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
960
{
4752
960
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
960
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
960
    if (!validate_unicode(src.view())) {
4756
314
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
314
                                     "Invalid encoding in scanned string");
4758
314
    }
4759
646
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
646
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
646
    return SCN_MOVE(result);
4765
646
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
1.16k
{
4752
1.16k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
1.16k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
1.16k
    if (!validate_unicode(src.view())) {
4756
110
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
110
                                     "Invalid encoding in scanned string");
4758
110
    }
4759
1.05k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
1.05k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
1.05k
    return SCN_MOVE(result);
4765
1.05k
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
172
{
4752
172
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
172
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
172
    if (!validate_unicode(src.view())) {
4756
88
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
88
                                     "Invalid encoding in scanned string");
4758
88
    }
4759
84
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
84
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
84
    return SCN_MOVE(result);
4765
84
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
856
{
4752
856
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
856
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
856
    if (!validate_unicode(src.view())) {
4756
282
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
282
                                     "Invalid encoding in scanned string");
4758
282
    }
4759
574
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
574
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
574
    return SCN_MOVE(result);
4765
574
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
56
{
4752
56
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
56
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
56
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
56
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
56
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
56
    return SCN_MOVE(result);
4765
56
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Line
Count
Source
4751
24.9M
{
4752
24.9M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
24.9M
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
24.9M
    if (!validate_unicode(src.view())) {
4756
3.80k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
3.80k
                                     "Invalid encoding in scanned string");
4758
3.80k
    }
4759
24.9M
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
24.9M
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
24.9M
    return SCN_MOVE(result);
4765
24.9M
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
Line
Count
Source
4751
42
{
4752
42
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
42
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
42
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
42
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
42
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
42
    return SCN_MOVE(result);
4765
42
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
172
{
4752
172
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
172
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
172
    if (!validate_unicode(src.view())) {
4756
88
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
88
                                     "Invalid encoding in scanned string");
4758
88
    }
4759
84
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
84
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
84
    return SCN_MOVE(result);
4765
84
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
24.9M
{
4752
24.9M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
24.9M
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
24.9M
    if (!validate_unicode(src.view())) {
4756
4.08k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
4.08k
                                     "Invalid encoding in scanned string");
4758
4.08k
    }
4759
24.9M
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
24.9M
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
24.9M
    return SCN_MOVE(result);
4765
24.9M
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
98
{
4752
98
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
98
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
98
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
98
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
98
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
98
    return SCN_MOVE(result);
4765
98
}
4766
4767
template <typename Range, typename Iterator, typename ValueCharT>
4768
auto read_string_view_impl(Range range,
4769
                           Iterator&& result,
4770
                           std::basic_string_view<ValueCharT>& value)
4771
    -> scan_expected<ranges::const_iterator_t<Range>>
4772
25.1M
{
4773
25.1M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
25.1M
    auto src = [&]() {
4776
25.1M
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
25.1M
            return make_contiguous_buffer(
4778
25.1M
                ranges::subrange{range.begin().base(), result.base()});
4779
25.1M
        }
4780
25.1M
        else {
4781
25.1M
            return make_contiguous_buffer(
4782
25.1M
                ranges::subrange{range.begin(), result});
4783
25.1M
        }
4784
25.1M
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4775
338
    auto src = [&]() {
4776
338
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
338
            return make_contiguous_buffer(
4778
338
                ranges::subrange{range.begin().base(), result.base()});
4779
338
        }
4780
338
        else {
4781
338
            return make_contiguous_buffer(
4782
338
                ranges::subrange{range.begin(), result});
4783
338
        }
4784
338
    }();
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4775
170
    auto src = [&]() {
4776
170
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
170
            return make_contiguous_buffer(
4778
170
                ranges::subrange{range.begin().base(), result.base()});
4779
170
        }
4780
170
        else {
4781
170
            return make_contiguous_buffer(
4782
170
                ranges::subrange{range.begin(), result});
4783
170
        }
4784
170
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4775
165k
    auto src = [&]() {
4776
165k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
165k
            return make_contiguous_buffer(
4778
165k
                ranges::subrange{range.begin().base(), result.base()});
4779
165k
        }
4780
165k
        else {
4781
165k
            return make_contiguous_buffer(
4782
165k
                ranges::subrange{range.begin(), result});
4783
165k
        }
4784
165k
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4775
2.06k
    auto src = [&]() {
4776
2.06k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
2.06k
            return make_contiguous_buffer(
4778
2.06k
                ranges::subrange{range.begin().base(), result.base()});
4779
2.06k
        }
4780
2.06k
        else {
4781
2.06k
            return make_contiguous_buffer(
4782
2.06k
                ranges::subrange{range.begin(), result});
4783
2.06k
        }
4784
2.06k
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4775
172
    auto src = [&]() {
4776
172
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
172
            return make_contiguous_buffer(
4778
172
                ranges::subrange{range.begin().base(), result.base()});
4779
172
        }
4780
172
        else {
4781
172
            return make_contiguous_buffer(
4782
172
                ranges::subrange{range.begin(), result});
4783
172
        }
4784
172
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4775
24.9M
    auto src = [&]() {
4776
24.9M
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
24.9M
            return make_contiguous_buffer(
4778
24.9M
                ranges::subrange{range.begin().base(), result.base()});
4779
24.9M
        }
4780
24.9M
        else {
4781
24.9M
            return make_contiguous_buffer(
4782
24.9M
                ranges::subrange{range.begin(), result});
4783
24.9M
        }
4784
24.9M
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4775
98
    auto src = [&]() {
4776
98
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
98
            return make_contiguous_buffer(
4778
98
                ranges::subrange{range.begin().base(), result.base()});
4779
98
        }
4780
98
        else {
4781
98
            return make_contiguous_buffer(
4782
98
                ranges::subrange{range.begin(), result});
4783
98
        }
4784
98
    }();
4785
25.1M
    using src_type = decltype(src);
4786
4787
25.1M
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
25.1M
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
25.1M
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
25.1M
                                     "Cannot read a string_view from "
4796
25.1M
                                     "this source range (would require "
4797
25.1M
                                     "transcoding)");
4798
25.1M
    }
4799
25.1M
    else {
4800
25.1M
        const auto view = src.view();
4801
25.1M
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
25.1M
        if (!validate_unicode(value)) {
4804
6.45k
            return unexpected_scan_error(
4805
6.45k
                scan_error::invalid_scanned_value,
4806
6.45k
                "Invalid encoding in scanned string_view");
4807
6.45k
        }
4808
4809
25.0M
        return SCN_MOVE(result);
4810
25.1M
    }
4811
25.1M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4772
338
{
4773
338
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
338
    auto src = [&]() {
4776
338
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
338
            return make_contiguous_buffer(
4778
338
                ranges::subrange{range.begin().base(), result.base()});
4779
338
        }
4780
338
        else {
4781
338
            return make_contiguous_buffer(
4782
338
                ranges::subrange{range.begin(), result});
4783
338
        }
4784
338
    }();
4785
338
    using src_type = decltype(src);
4786
4787
338
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
338
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
338
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
338
                                     "Cannot read a string_view from "
4796
338
                                     "this source range (would require "
4797
338
                                     "transcoding)");
4798
338
    }
4799
338
    else {
4800
338
        const auto view = src.view();
4801
338
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
338
        if (!validate_unicode(value)) {
4804
142
            return unexpected_scan_error(
4805
142
                scan_error::invalid_scanned_value,
4806
142
                "Invalid encoding in scanned string_view");
4807
142
        }
4808
4809
196
        return SCN_MOVE(result);
4810
338
    }
4811
338
}
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4772
170
{
4773
170
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
170
    auto src = [&]() {
4776
170
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
170
            return make_contiguous_buffer(
4778
170
                ranges::subrange{range.begin().base(), result.base()});
4779
170
        }
4780
170
        else {
4781
170
            return make_contiguous_buffer(
4782
170
                ranges::subrange{range.begin(), result});
4783
170
        }
4784
170
    }();
4785
170
    using src_type = decltype(src);
4786
4787
170
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
170
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
170
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
170
                                     "Cannot read a string_view from "
4796
170
                                     "this source range (would require "
4797
170
                                     "transcoding)");
4798
170
    }
4799
170
    else {
4800
170
        const auto view = src.view();
4801
170
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
170
        if (!validate_unicode(value)) {
4804
46
            return unexpected_scan_error(
4805
46
                scan_error::invalid_scanned_value,
4806
46
                "Invalid encoding in scanned string_view");
4807
46
        }
4808
4809
124
        return SCN_MOVE(result);
4810
170
    }
4811
170
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4772
165k
{
4773
165k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
165k
    auto src = [&]() {
4776
165k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
165k
            return make_contiguous_buffer(
4778
165k
                ranges::subrange{range.begin().base(), result.base()});
4779
165k
        }
4780
165k
        else {
4781
165k
            return make_contiguous_buffer(
4782
165k
                ranges::subrange{range.begin(), result});
4783
165k
        }
4784
165k
    }();
4785
165k
    using src_type = decltype(src);
4786
4787
165k
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
165k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
165k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
165k
                                     "Cannot read a string_view from "
4796
165k
                                     "this source range (would require "
4797
165k
                                     "transcoding)");
4798
165k
    }
4799
165k
    else {
4800
165k
        const auto view = src.view();
4801
165k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
165k
        if (!validate_unicode(value)) {
4804
1.98k
            return unexpected_scan_error(
4805
1.98k
                scan_error::invalid_scanned_value,
4806
1.98k
                "Invalid encoding in scanned string_view");
4807
1.98k
        }
4808
4809
163k
        return SCN_MOVE(result);
4810
165k
    }
4811
165k
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4772
2.06k
{
4773
2.06k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
2.06k
    auto src = [&]() {
4776
2.06k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
2.06k
            return make_contiguous_buffer(
4778
2.06k
                ranges::subrange{range.begin().base(), result.base()});
4779
2.06k
        }
4780
2.06k
        else {
4781
2.06k
            return make_contiguous_buffer(
4782
2.06k
                ranges::subrange{range.begin(), result});
4783
2.06k
        }
4784
2.06k
    }();
4785
2.06k
    using src_type = decltype(src);
4786
4787
2.06k
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
2.06k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
2.06k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
2.06k
                                     "Cannot read a string_view from "
4796
2.06k
                                     "this source range (would require "
4797
2.06k
                                     "transcoding)");
4798
2.06k
    }
4799
2.06k
    else {
4800
2.06k
        const auto view = src.view();
4801
2.06k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
2.06k
        if (!validate_unicode(value)) {
4804
110
            return unexpected_scan_error(
4805
110
                scan_error::invalid_scanned_value,
4806
110
                "Invalid encoding in scanned string_view");
4807
110
        }
4808
4809
1.95k
        return SCN_MOVE(result);
4810
2.06k
    }
4811
2.06k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4772
172
{
4773
172
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
172
    auto src = [&]() {
4776
172
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
172
            return make_contiguous_buffer(
4778
172
                ranges::subrange{range.begin().base(), result.base()});
4779
172
        }
4780
172
        else {
4781
172
            return make_contiguous_buffer(
4782
172
                ranges::subrange{range.begin(), result});
4783
172
        }
4784
172
    }();
4785
172
    using src_type = decltype(src);
4786
4787
172
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
172
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
172
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
172
                                     "Cannot read a string_view from "
4796
172
                                     "this source range (would require "
4797
172
                                     "transcoding)");
4798
172
    }
4799
172
    else {
4800
172
        const auto view = src.view();
4801
172
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
172
        if (!validate_unicode(value)) {
4804
88
            return unexpected_scan_error(
4805
88
                scan_error::invalid_scanned_value,
4806
88
                "Invalid encoding in scanned string_view");
4807
88
        }
4808
4809
84
        return SCN_MOVE(result);
4810
172
    }
4811
172
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4772
24.9M
{
4773
24.9M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
24.9M
    auto src = [&]() {
4776
24.9M
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
24.9M
            return make_contiguous_buffer(
4778
24.9M
                ranges::subrange{range.begin().base(), result.base()});
4779
24.9M
        }
4780
24.9M
        else {
4781
24.9M
            return make_contiguous_buffer(
4782
24.9M
                ranges::subrange{range.begin(), result});
4783
24.9M
        }
4784
24.9M
    }();
4785
24.9M
    using src_type = decltype(src);
4786
4787
24.9M
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
24.9M
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
24.9M
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
24.9M
                                     "Cannot read a string_view from "
4796
24.9M
                                     "this source range (would require "
4797
24.9M
                                     "transcoding)");
4798
24.9M
    }
4799
24.9M
    else {
4800
24.9M
        const auto view = src.view();
4801
24.9M
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
24.9M
        if (!validate_unicode(value)) {
4804
4.08k
            return unexpected_scan_error(
4805
4.08k
                scan_error::invalid_scanned_value,
4806
4.08k
                "Invalid encoding in scanned string_view");
4807
4.08k
        }
4808
4809
24.9M
        return SCN_MOVE(result);
4810
24.9M
    }
4811
24.9M
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4772
98
{
4773
98
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
98
    auto src = [&]() {
4776
98
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
98
            return make_contiguous_buffer(
4778
98
                ranges::subrange{range.begin().base(), result.base()});
4779
98
        }
4780
98
        else {
4781
98
            return make_contiguous_buffer(
4782
98
                ranges::subrange{range.begin(), result});
4783
98
        }
4784
98
    }();
4785
98
    using src_type = decltype(src);
4786
4787
98
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
98
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
98
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
98
                                     "Cannot read a string_view from "
4796
98
                                     "this source range (would require "
4797
98
                                     "transcoding)");
4798
98
    }
4799
98
    else {
4800
98
        const auto view = src.view();
4801
98
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
98
        if (!validate_unicode(value)) {
4804
0
            return unexpected_scan_error(
4805
0
                scan_error::invalid_scanned_value,
4806
0
                "Invalid encoding in scanned string_view");
4807
0
        }
4808
4809
98
        return SCN_MOVE(result);
4810
98
    }
4811
98
}
4812
4813
template <typename SourceCharT>
4814
class word_reader_impl {
4815
public:
4816
    template <typename Range, typename ValueCharT>
4817
    auto read(Range range, std::basic_string<ValueCharT>& value)
4818
        -> scan_expected<ranges::const_iterator_t<Range>>
4819
50.2M
    {
4820
50.2M
        return read_string_impl(range, read_until_classic_space(range), value);
4821
50.2M
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
Line
Count
Source
4819
168k
    {
4820
168k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
168k
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
248
    {
4820
248
        return read_string_impl(range, read_until_classic_space(range), value);
4821
248
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
165k
    {
4820
165k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
165k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
248
    {
4820
248
        return read_string_impl(range, read_until_classic_space(range), value);
4821
248
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
914
    {
4820
914
        return read_string_impl(range, read_until_classic_space(range), value);
4821
914
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
126
    {
4820
126
        return read_string_impl(range, read_until_classic_space(range), value);
4821
126
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
828
    {
4820
828
        return read_string_impl(range, read_until_classic_space(range), value);
4821
828
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
Line
Count
Source
4819
24.9M
    {
4820
24.9M
        return read_string_impl(range, read_until_classic_space(range), value);
4821
24.9M
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
126
    {
4820
126
        return read_string_impl(range, read_until_classic_space(range), value);
4821
126
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
24.9M
    {
4820
24.9M
        return read_string_impl(range, read_until_classic_space(range), value);
4821
24.9M
    }
4822
4823
    template <typename Range, typename ValueCharT>
4824
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4825
        -> scan_expected<ranges::const_iterator_t<Range>>
4826
25.1M
    {
4827
25.1M
        return read_string_view_impl(range, read_until_classic_space(range),
4828
25.1M
                                     value);
4829
25.1M
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4826
248
    {
4827
248
        return read_string_view_impl(range, read_until_classic_space(range),
4828
248
                                     value);
4829
248
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4826
165k
    {
4827
165k
        return read_string_view_impl(range, read_until_classic_space(range),
4828
165k
                                     value);
4829
165k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4826
126
    {
4827
126
        return read_string_view_impl(range, read_until_classic_space(range),
4828
126
                                     value);
4829
126
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4826
24.9M
    {
4827
24.9M
        return read_string_view_impl(range, read_until_classic_space(range),
4828
24.9M
                                     value);
4829
24.9M
    }
4830
};
4831
4832
template <typename SourceCharT>
4833
class custom_word_reader_impl {
4834
public:
4835
    template <typename Range, typename ValueCharT>
4836
    auto read(Range range,
4837
              const detail::format_specs& specs,
4838
              std::basic_string<ValueCharT>& value)
4839
        -> scan_expected<ranges::const_iterator_t<Range>>
4840
320
    {
4841
320
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
252
            return read_string_impl(
4843
252
                range,
4844
252
                read_until_code_unit(
4845
252
                    range,
4846
252
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
3.84k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlcE_clEc
Line
Count
Source
4847
788
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlcE_clEc
Line
Count
Source
4847
454
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlcE_clEc
Line
Count
Source
4847
788
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlcE_clEc
Line
Count
Source
4847
454
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlwE_clEw
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlwE_clEw
Line
Count
Source
4847
360
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlwE_clEw
Line
Count
Source
4847
322
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlwE_clEw
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlwE_clEw
Line
Count
Source
4847
360
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlwE_clEw
Line
Count
Source
4847
322
                        SourceCharT ch) { return ch == until; }),
4848
252
                value);
4849
252
        }
4850
68
        return read_string_impl(
4851
68
            range,
4852
68
            read_until_code_units(
4853
68
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
68
            value);
4855
320
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
56
    {
4841
56
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
36
            return read_string_impl(
4843
36
                range,
4844
36
                read_until_code_unit(
4845
36
                    range,
4846
36
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
36
                        SourceCharT ch) { return ch == until; }),
4848
36
                value);
4849
36
        }
4850
20
        return read_string_impl(
4851
20
            range,
4852
20
            read_until_code_units(
4853
20
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
20
            value);
4855
56
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
46
    {
4841
46
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
32
            return read_string_impl(
4843
32
                range,
4844
32
                read_until_code_unit(
4845
32
                    range,
4846
32
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
32
                        SourceCharT ch) { return ch == until; }),
4848
32
                value);
4849
32
        }
4850
14
        return read_string_impl(
4851
14
            range,
4852
14
            read_until_code_units(
4853
14
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
14
            value);
4855
46
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
56
    {
4841
56
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
36
            return read_string_impl(
4843
36
                range,
4844
36
                read_until_code_unit(
4845
36
                    range,
4846
36
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
36
                        SourceCharT ch) { return ch == until; }),
4848
36
                value);
4849
36
        }
4850
20
        return read_string_impl(
4851
20
            range,
4852
20
            read_until_code_units(
4853
20
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
20
            value);
4855
56
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
46
    {
4841
46
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
32
            return read_string_impl(
4843
32
                range,
4844
32
                read_until_code_unit(
4845
32
                    range,
4846
32
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
32
                        SourceCharT ch) { return ch == until; }),
4848
32
                value);
4849
32
        }
4850
14
        return read_string_impl(
4851
14
            range,
4852
14
            read_until_code_units(
4853
14
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
14
            value);
4855
46
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
30
    {
4841
30
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
30
            return read_string_impl(
4843
30
                range,
4844
30
                read_until_code_unit(
4845
30
                    range,
4846
30
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
30
                        SourceCharT ch) { return ch == until; }),
4848
30
                value);
4849
30
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
30
    }
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
28
    {
4841
28
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
28
            return read_string_impl(
4843
28
                range,
4844
28
                read_until_code_unit(
4845
28
                    range,
4846
28
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
28
                        SourceCharT ch) { return ch == until; }),
4848
28
                value);
4849
28
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
28
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
30
    {
4841
30
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
30
            return read_string_impl(
4843
30
                range,
4844
30
                read_until_code_unit(
4845
30
                    range,
4846
30
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
30
                        SourceCharT ch) { return ch == until; }),
4848
30
                value);
4849
30
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
30
    }
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
28
    {
4841
28
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
28
            return read_string_impl(
4843
28
                range,
4844
28
                read_until_code_unit(
4845
28
                    range,
4846
28
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
28
                        SourceCharT ch) { return ch == until; }),
4848
28
                value);
4849
28
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
28
    }
4856
4857
    template <typename Range, typename ValueCharT>
4858
    auto read(Range range,
4859
              const detail::format_specs& specs,
4860
              std::basic_string_view<ValueCharT>& value)
4861
        -> scan_expected<ranges::const_iterator_t<Range>>
4862
160
    {
4863
160
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
126
            return read_string_view_impl(
4865
126
                range,
4866
126
                read_until_code_unit(
4867
126
                    range,
4868
126
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
1.92k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlcE_clEc
Line
Count
Source
4869
788
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlcE_clEc
Line
Count
Source
4869
454
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlwE_clEw
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlwE_clEw
Line
Count
Source
4869
360
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlwE_clEw
Line
Count
Source
4869
322
                        SourceCharT ch) { return ch == until; }),
4870
126
                value);
4871
126
        }
4872
34
        return read_string_view_impl(
4873
34
            range,
4874
34
            read_until_code_units(
4875
34
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
34
            value);
4877
160
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4862
56
    {
4863
56
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
36
            return read_string_view_impl(
4865
36
                range,
4866
36
                read_until_code_unit(
4867
36
                    range,
4868
36
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
36
                        SourceCharT ch) { return ch == until; }),
4870
36
                value);
4871
36
        }
4872
20
        return read_string_view_impl(
4873
20
            range,
4874
20
            read_until_code_units(
4875
20
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
20
            value);
4877
56
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4862
46
    {
4863
46
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
32
            return read_string_view_impl(
4865
32
                range,
4866
32
                read_until_code_unit(
4867
32
                    range,
4868
32
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
32
                        SourceCharT ch) { return ch == until; }),
4870
32
                value);
4871
32
        }
4872
14
        return read_string_view_impl(
4873
14
            range,
4874
14
            read_until_code_units(
4875
14
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
14
            value);
4877
46
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4862
30
    {
4863
30
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
30
            return read_string_view_impl(
4865
30
                range,
4866
30
                read_until_code_unit(
4867
30
                    range,
4868
30
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
30
                        SourceCharT ch) { return ch == until; }),
4870
30
                value);
4871
30
        }
4872
0
        return read_string_view_impl(
4873
0
            range,
4874
0
            read_until_code_units(
4875
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
0
            value);
4877
30
    }
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4862
28
    {
4863
28
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
28
            return read_string_view_impl(
4865
28
                range,
4866
28
                read_until_code_unit(
4867
28
                    range,
4868
28
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
28
                        SourceCharT ch) { return ch == until; }),
4870
28
                value);
4871
28
        }
4872
0
        return read_string_view_impl(
4873
0
            range,
4874
0
            read_until_code_units(
4875
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
0
            value);
4877
28
    }
4878
};
4879
4880
#if !SCN_DISABLE_REGEX
4881
template <typename SourceCharT>
4882
class regex_string_reader_impl {
4883
public:
4884
    template <typename Range, typename ValueCharT>
4885
    auto read(Range range,
4886
              std::basic_string_view<SourceCharT> pattern,
4887
              detail::regex_flags flags,
4888
              std::basic_string<ValueCharT>& value)
4889
        -> scan_expected<ranges::const_iterator_t<Range>>
4890
9.00k
    {
4891
9.00k
        SCN_TRY(it, impl(range, pattern, flags));
4892
1.18k
        return read_string_impl(range, it, value);
4893
9.00k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
76
    {
4891
76
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
76
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
3.14k
    {
4891
3.14k
        SCN_TRY(it, impl(range, pattern, flags));
4892
538
        return read_string_impl(range, it, value);
4893
3.14k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
76
    {
4891
76
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
76
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
3.14k
    {
4891
3.14k
        SCN_TRY(it, impl(range, pattern, flags));
4892
538
        return read_string_impl(range, it, value);
4893
3.14k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
4
    {
4891
4
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
4
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
1.27k
    {
4891
1.27k
        SCN_TRY(it, impl(range, pattern, flags));
4892
52
        return read_string_impl(range, it, value);
4893
1.27k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
4
    {
4891
4
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
4
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
1.27k
    {
4891
1.27k
        SCN_TRY(it, impl(range, pattern, flags));
4892
52
        return read_string_impl(range, it, value);
4893
1.27k
    }
4894
4895
    template <typename Range, typename ValueCharT>
4896
    auto read(Range range,
4897
              std::basic_string_view<SourceCharT> pattern,
4898
              detail::regex_flags flags,
4899
              std::basic_string_view<ValueCharT>& value)
4900
        -> scan_expected<ranges::const_iterator_t<Range>>
4901
4.50k
    {
4902
4.50k
        SCN_TRY(it, impl(range, pattern, flags));
4903
590
        return read_string_view_impl(range, it, value);
4904
4.50k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
4901
76
    {
4902
76
        SCN_TRY(it, impl(range, pattern, flags));
4903
0
        return read_string_view_impl(range, it, value);
4904
76
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
4901
3.14k
    {
4902
3.14k
        SCN_TRY(it, impl(range, pattern, flags));
4903
538
        return read_string_view_impl(range, it, value);
4904
3.14k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
4901
4
    {
4902
4
        SCN_TRY(it, impl(range, pattern, flags));
4903
0
        return read_string_view_impl(range, it, value);
4904
4
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
4901
1.27k
    {
4902
1.27k
        SCN_TRY(it, impl(range, pattern, flags));
4903
52
        return read_string_view_impl(range, it, value);
4904
1.27k
    }
4905
4906
private:
4907
    template <typename Range>
4908
    auto impl(Range range,
4909
              std::basic_string_view<SourceCharT> pattern,
4910
              detail::regex_flags flags)
4911
        -> scan_expected<ranges::const_iterator_t<Range>>
4912
13.5k
    {
4913
13.5k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
13.5k
                      !std::is_same_v<SourceCharT, char>) {
4915
13.5k
            return unexpected_scan_error(
4916
13.5k
                scan_error::invalid_scanned_value,
4917
13.5k
                "Regex backend doesn't support wide strings as input");
4918
13.5k
        }
4919
13.5k
        else {
4920
13.5k
            if (!is_entire_source_contiguous(range)) {
4921
240
                return unexpected_scan_error(
4922
240
                    scan_error::invalid_scanned_value,
4923
240
                    "Cannot use regex with a non-contiguous source "
4924
240
                    "range");
4925
240
            }
4926
4927
13.2k
            auto input = get_as_contiguous(range);
4928
13.2k
            SCN_TRY(it,
4929
1.77k
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
1.77k
            return ranges::next(range.begin(),
4931
1.77k
                                ranges::distance(input.begin(), it));
4932
13.2k
        }
4933
13.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsE
_ZN3scn2v34impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
228
    {
4913
228
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
228
                      !std::is_same_v<SourceCharT, char>) {
4915
228
            return unexpected_scan_error(
4916
228
                scan_error::invalid_scanned_value,
4917
228
                "Regex backend doesn't support wide strings as input");
4918
228
        }
4919
228
        else {
4920
228
            if (!is_entire_source_contiguous(range)) {
4921
228
                return unexpected_scan_error(
4922
228
                    scan_error::invalid_scanned_value,
4923
228
                    "Cannot use regex with a non-contiguous source "
4924
228
                    "range");
4925
228
            }
4926
4927
0
            auto input = get_as_contiguous(range);
4928
0
            SCN_TRY(it,
4929
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
0
            return ranges::next(range.begin(),
4931
0
                                ranges::distance(input.begin(), it));
4932
0
        }
4933
228
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
9.43k
    {
4913
9.43k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
9.43k
                      !std::is_same_v<SourceCharT, char>) {
4915
9.43k
            return unexpected_scan_error(
4916
9.43k
                scan_error::invalid_scanned_value,
4917
9.43k
                "Regex backend doesn't support wide strings as input");
4918
9.43k
        }
4919
9.43k
        else {
4920
9.43k
            if (!is_entire_source_contiguous(range)) {
4921
0
                return unexpected_scan_error(
4922
0
                    scan_error::invalid_scanned_value,
4923
0
                    "Cannot use regex with a non-contiguous source "
4924
0
                    "range");
4925
0
            }
4926
4927
9.43k
            auto input = get_as_contiguous(range);
4928
9.43k
            SCN_TRY(it,
4929
1.61k
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
1.61k
            return ranges::next(range.begin(),
4931
1.61k
                                ranges::distance(input.begin(), it));
4932
9.43k
        }
4933
9.43k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsE
_ZN3scn2v34impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
12
    {
4913
12
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
12
                      !std::is_same_v<SourceCharT, char>) {
4915
12
            return unexpected_scan_error(
4916
12
                scan_error::invalid_scanned_value,
4917
12
                "Regex backend doesn't support wide strings as input");
4918
12
        }
4919
12
        else {
4920
12
            if (!is_entire_source_contiguous(range)) {
4921
12
                return unexpected_scan_error(
4922
12
                    scan_error::invalid_scanned_value,
4923
12
                    "Cannot use regex with a non-contiguous source "
4924
12
                    "range");
4925
12
            }
4926
4927
0
            auto input = get_as_contiguous(range);
4928
0
            SCN_TRY(it,
4929
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
0
            return ranges::next(range.begin(),
4931
0
                                ranges::distance(input.begin(), it));
4932
0
        }
4933
12
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
3.82k
    {
4913
3.82k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
3.82k
                      !std::is_same_v<SourceCharT, char>) {
4915
3.82k
            return unexpected_scan_error(
4916
3.82k
                scan_error::invalid_scanned_value,
4917
3.82k
                "Regex backend doesn't support wide strings as input");
4918
3.82k
        }
4919
3.82k
        else {
4920
3.82k
            if (!is_entire_source_contiguous(range)) {
4921
0
                return unexpected_scan_error(
4922
0
                    scan_error::invalid_scanned_value,
4923
0
                    "Cannot use regex with a non-contiguous source "
4924
0
                    "range");
4925
0
            }
4926
4927
3.82k
            auto input = get_as_contiguous(range);
4928
3.82k
            SCN_TRY(it,
4929
156
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
156
            return ranges::next(range.begin(),
4931
156
                                ranges::distance(input.begin(), it));
4932
3.82k
        }
4933
3.82k
    }
4934
};
4935
#endif
4936
4937
template <typename SourceCharT>
4938
class character_reader_impl {
4939
public:
4940
    // Note: no localized version,
4941
    // since it's equivalent in behavior
4942
4943
    template <typename Range, typename ValueCharT>
4944
    auto read(Range range, std::basic_string<ValueCharT>& value)
4945
        -> scan_expected<ranges::const_iterator_t<Range>>
4946
100
    {
4947
100
        return read_impl(
4948
100
            range,
4949
100
            [&](const auto& rng) {
4950
100
                return read_string_impl(rng, read_all(rng), value);
4951
100
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
34
            [&](const auto& rng) {
4950
34
                return read_string_impl(rng, read_all(rng), value);
4951
34
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
34
            [&](const auto& rng) {
4950
34
                return read_string_impl(rng, read_all(rng), value);
4951
34
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
16
            [&](const auto& rng) {
4950
16
                return read_string_impl(rng, read_all(rng), value);
4951
16
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
16
            [&](const auto& rng) {
4950
16
                return read_string_impl(rng, read_all(rng), value);
4951
16
            },
4952
100
            detail::priority_tag<1>{});
4953
100
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
34
    {
4947
34
        return read_impl(
4948
34
            range,
4949
34
            [&](const auto& rng) {
4950
34
                return read_string_impl(rng, read_all(rng), value);
4951
34
            },
4952
34
            detail::priority_tag<1>{});
4953
34
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
34
    {
4947
34
        return read_impl(
4948
34
            range,
4949
34
            [&](const auto& rng) {
4950
34
                return read_string_impl(rng, read_all(rng), value);
4951
34
            },
4952
34
            detail::priority_tag<1>{});
4953
34
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
16
    {
4947
16
        return read_impl(
4948
16
            range,
4949
16
            [&](const auto& rng) {
4950
16
                return read_string_impl(rng, read_all(rng), value);
4951
16
            },
4952
16
            detail::priority_tag<1>{});
4953
16
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
16
    {
4947
16
        return read_impl(
4948
16
            range,
4949
16
            [&](const auto& rng) {
4950
16
                return read_string_impl(rng, read_all(rng), value);
4951
16
            },
4952
16
            detail::priority_tag<1>{});
4953
16
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
4954
4955
    template <typename Range, typename ValueCharT>
4956
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4957
        -> scan_expected<ranges::const_iterator_t<Range>>
4958
50
    {
4959
50
        return read_impl(
4960
50
            range,
4961
50
            [&](const auto& rng) {
4962
50
                return read_string_view_impl(rng, read_all(rng), value);
4963
50
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
4961
34
            [&](const auto& rng) {
4962
34
                return read_string_view_impl(rng, read_all(rng), value);
4963
34
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
4961
16
            [&](const auto& rng) {
4962
16
                return read_string_view_impl(rng, read_all(rng), value);
4963
16
            },
4964
50
            detail::priority_tag<1>{});
4965
50
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4958
34
    {
4959
34
        return read_impl(
4960
34
            range,
4961
34
            [&](const auto& rng) {
4962
34
                return read_string_view_impl(rng, read_all(rng), value);
4963
34
            },
4964
34
            detail::priority_tag<1>{});
4965
34
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4958
16
    {
4959
16
        return read_impl(
4960
16
            range,
4961
16
            [&](const auto& rng) {
4962
16
                return read_string_view_impl(rng, read_all(rng), value);
4963
16
            },
4964
16
            detail::priority_tag<1>{});
4965
16
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
4966
4967
private:
4968
    template <typename View, typename ReadCb>
4969
    static auto read_impl(const take_width_view<View>& range,
4970
                          ReadCb&& read_cb,
4971
                          detail::priority_tag<1>)
4972
        -> scan_expected<ranges::const_iterator_t<take_width_view<View>&>>
4973
150
    {
4974
150
        return read_cb(range);
4975
150
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
34
    {
4974
34
        return read_cb(range);
4975
34
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
34
    {
4974
34
        return read_cb(range);
4975
34
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
34
    {
4974
34
        return read_cb(range);
4975
34
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
16
    {
4974
16
        return read_cb(range);
4975
16
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
16
    {
4974
16
        return read_cb(range);
4975
16
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
16
    {
4974
16
        return read_cb(range);
4975
16
    }
4976
4977
    template <typename Range, typename ReadCb>
4978
    static auto read_impl(Range, ReadCb&&, detail::priority_tag<0>)
4979
        -> scan_expected<ranges::const_iterator_t<Range>>
4980
0
    {
4981
0
        return unexpected_scan_error(
4982
0
            scan_error::invalid_scanned_value,
4983
0
            "character_reader requires take_width_view");
4984
0
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
4985
};
4986
4987
struct nonascii_specs_handler {
4988
    void on_charset_single(char32_t cp)
4989
545k
    {
4990
545k
        on_charset_range(cp, cp + 1);
4991
545k
    }
4992
4993
    void on_charset_range(char32_t begin, char32_t end)
4994
548k
    {
4995
548k
        if (end <= 127) {
4996
322k
            return;
4997
322k
        }
4998
4999
43.5M
        for (auto& elem : extra_ranges) {
5000
            // TODO: check for overlap
5001
43.5M
            if (elem.first == end) {
5002
108
                elem.first = begin;
5003
108
                return;
5004
108
            }
5005
5006
43.5M
            if (elem.second == begin) {
5007
1.59k
                elem.second = end;
5008
1.59k
                return;
5009
1.59k
            }
5010
43.5M
        }
5011
5012
223k
        extra_ranges.push_back(std::make_pair(begin, end));
5013
223k
    }
5014
5015
    constexpr void on_charset_inverted() const
5016
354
    {
5017
        // no-op
5018
354
    }
5019
5020
    constexpr void on_error(const char* msg)
5021
0
    {
5022
0
        on_error(scan_error{scan_error::invalid_format_string, msg});
5023
0
    }
5024
    constexpr void on_error(scan_error e)
5025
0
    {
5026
0
        SCN_UNLIKELY_ATTR
5027
0
        err = e;
5028
0
    }
5029
5030
    constexpr explicit operator bool() const
5031
554k
    {
5032
554k
        return static_cast<bool>(err);
5033
554k
    }
5034
5035
    std::vector<std::pair<char32_t, char32_t>> extra_ranges;
5036
    scan_error err;
5037
};
5038
5039
template <typename SourceCharT>
5040
class character_set_reader_impl {
5041
public:
5042
    template <typename Range, typename ValueCharT>
5043
    auto read(Range range,
5044
              const detail::format_specs& specs,
5045
              std::basic_string<ValueCharT>& value)
5046
        -> scan_expected<ranges::const_iterator_t<Range>>
5047
14.4k
    {
5048
14.4k
        auto it = read_source_impl(range, {specs});
5049
14.4k
        if (SCN_UNLIKELY(!it)) {
5050
10.9k
            return unexpected(it.error());
5051
10.9k
        }
5052
5053
3.48k
        return read_string_impl(range, *it, value);
5054
14.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Line
Count
Source
5047
2.62k
    {
5048
2.62k
        auto it = read_source_impl(range, {specs});
5049
2.62k
        if (SCN_UNLIKELY(!it)) {
5050
1.72k
            return unexpected(it.error());
5051
1.72k
        }
5052
5053
906
        return read_string_impl(range, *it, value);
5054
2.62k
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5047
180
    {
5048
180
        auto it = read_source_impl(range, {specs});
5049
180
        if (SCN_UNLIKELY(!it)) {
5050
10
            return unexpected(it.error());
5051
10
        }
5052
5053
170
        return read_string_impl(range, *it, value);
5054
180
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
3.54k
    {
5048
3.54k
        auto it = read_source_impl(range, {specs});
5049
3.54k
        if (SCN_UNLIKELY(!it)) {
5050
2.01k
            return unexpected(it.error());
5051
2.01k
        }
5052
5053
1.52k
        return read_string_impl(range, *it, value);
5054
3.54k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5047
180
    {
5048
180
        auto it = read_source_impl(range, {specs});
5049
180
        if (SCN_UNLIKELY(!it)) {
5050
10
            return unexpected(it.error());
5051
10
        }
5052
5053
170
        return read_string_impl(range, *it, value);
5054
180
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
916
    {
5048
916
        auto it = read_source_impl(range, {specs});
5049
916
        if (SCN_UNLIKELY(!it)) {
5050
294
            return unexpected(it.error());
5051
294
        }
5052
5053
622
        return read_string_impl(range, *it, value);
5054
916
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
26
    {
5048
26
        auto it = read_source_impl(range, {specs});
5049
26
        if (SCN_UNLIKELY(!it)) {
5050
22
            return unexpected(it.error());
5051
22
        }
5052
5053
4
        return read_string_impl(range, *it, value);
5054
26
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Line
Count
Source
5047
3.48k
    {
5048
3.48k
        auto it = read_source_impl(range, {specs});
5049
3.48k
        if (SCN_UNLIKELY(!it)) {
5050
3.44k
            return unexpected(it.error());
5051
3.44k
        }
5052
5053
42
        return read_string_impl(range, *it, value);
5054
3.48k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
3.51k
    {
5048
3.51k
        auto it = read_source_impl(range, {specs});
5049
3.51k
        if (SCN_UNLIKELY(!it)) {
5050
3.46k
            return unexpected(it.error());
5051
3.46k
        }
5052
5053
46
        return read_string_impl(range, *it, value);
5054
3.51k
    }
5055
5056
    template <typename Range, typename ValueCharT>
5057
    auto read(Range range,
5058
              const detail::format_specs& specs,
5059
              std::basic_string_view<ValueCharT>& value)
5060
        -> scan_expected<ranges::const_iterator_t<Range>>
5061
7.23k
    {
5062
7.23k
        auto it = read_source_impl(range, {specs});
5063
7.23k
        if (SCN_UNLIKELY(!it)) {
5064
5.49k
            return unexpected(it.error());
5065
5.49k
        }
5066
5067
1.74k
        return read_string_view_impl(range, *it, value);
5068
7.23k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5061
180
    {
5062
180
        auto it = read_source_impl(range, {specs});
5063
180
        if (SCN_UNLIKELY(!it)) {
5064
10
            return unexpected(it.error());
5065
10
        }
5066
5067
170
        return read_string_view_impl(range, *it, value);
5068
180
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5061
3.54k
    {
5062
3.54k
        auto it = read_source_impl(range, {specs});
5063
3.54k
        if (SCN_UNLIKELY(!it)) {
5064
2.01k
            return unexpected(it.error());
5065
2.01k
        }
5066
5067
1.52k
        return read_string_view_impl(range, *it, value);
5068
3.54k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5061
3.51k
    {
5062
3.51k
        auto it = read_source_impl(range, {specs});
5063
3.51k
        if (SCN_UNLIKELY(!it)) {
5064
3.46k
            return unexpected(it.error());
5065
3.46k
        }
5066
5067
46
        return read_string_view_impl(range, *it, value);
5068
3.51k
    }
5069
5070
private:
5071
    struct specs_helper {
5072
21.7k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v3::impl::character_set_reader_impl<char>::specs_helper::specs_helper(scn::v3::detail::format_specs const&)
Line
Count
Source
5072
11.1k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::specs_helper(scn::v3::detail::format_specs const&)
Line
Count
Source
5072
10.5k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
5073
5074
        constexpr bool is_char_set_in_literals(char ch) const
5075
414k
        {
5076
414k
            SCN_EXPECT(is_ascii_char(ch));
5077
414k
            const auto val =
5078
414k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
414k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
414k
                    (val % 8)) &
5081
414k
                   1u;
5082
414k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5075
408k
        {
5076
408k
            SCN_EXPECT(is_ascii_char(ch));
5077
408k
            const auto val =
5078
408k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
408k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
408k
                    (val % 8)) &
5081
408k
                   1u;
5082
408k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5075
5.92k
        {
5076
5.92k
            SCN_EXPECT(is_ascii_char(ch));
5077
5.92k
            const auto val =
5078
5.92k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
5.92k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
5.92k
                    (val % 8)) &
5081
5.92k
                   1u;
5082
5.92k
        }
5083
5084
        bool is_char_set_in_extra_literals(char32_t cp) const
5085
49.5k
        {
5086
            // TODO: binary search?
5087
49.5k
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
49.5k
            const auto cp_val = static_cast<uint32_t>(cp);
5092
49.5k
            return std::find_if(
5093
49.5k
                       nonascii.extra_ranges.begin(),
5094
49.5k
                       nonascii.extra_ranges.end(),
5095
12.3M
                       [cp_val](const auto& pair) noexcept {
5096
12.3M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
12.3M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
12.3M
                       }) != nonascii.extra_ranges.end();
auto scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5095
12.3M
                       [cp_val](const auto& pair) noexcept {
5096
12.3M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
12.3M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
12.3M
                       }) != nonascii.extra_ranges.end();
Unexecuted instantiation: auto scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
5099
49.5k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5085
49.5k
        {
5086
            // TODO: binary search?
5087
49.5k
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
49.5k
            const auto cp_val = static_cast<uint32_t>(cp);
5092
49.5k
            return std::find_if(
5093
49.5k
                       nonascii.extra_ranges.begin(),
5094
49.5k
                       nonascii.extra_ranges.end(),
5095
49.5k
                       [cp_val](const auto& pair) noexcept {
5096
49.5k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
49.5k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
49.5k
                       }) != nonascii.extra_ranges.end();
5099
49.5k
        }
Unexecuted instantiation: scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const
5100
5101
        scan_error handle_nonascii()
5102
21.7k
        {
5103
21.7k
            if (!specs.charset_has_nonascii) {
5104
18.9k
                return {};
5105
18.9k
            }
5106
5107
2.80k
            auto charset_string = specs.charset_string<SourceCharT>();
5108
2.80k
            auto it = detail::to_address(charset_string.begin());
5109
2.80k
            auto set = detail::parse_presentation_set(
5110
2.80k
                it, detail::to_address(charset_string.end()), nonascii);
5111
2.80k
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
2.80k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
2.80k
            SCN_ENSURE(set == charset_string);
5116
5117
2.80k
            std::sort(nonascii.extra_ranges.begin(),
5118
2.80k
                      nonascii.extra_ranges.end());
5119
2.80k
            return {};
5120
2.80k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::handle_nonascii()
Line
Count
Source
5102
11.1k
        {
5103
11.1k
            if (!specs.charset_has_nonascii) {
5104
8.43k
                return {};
5105
8.43k
            }
5106
5107
2.74k
            auto charset_string = specs.charset_string<SourceCharT>();
5108
2.74k
            auto it = detail::to_address(charset_string.begin());
5109
2.74k
            auto set = detail::parse_presentation_set(
5110
2.74k
                it, detail::to_address(charset_string.end()), nonascii);
5111
2.74k
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
2.74k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
2.74k
            SCN_ENSURE(set == charset_string);
5116
5117
2.74k
            std::sort(nonascii.extra_ranges.begin(),
5118
2.74k
                      nonascii.extra_ranges.end());
5119
2.74k
            return {};
5120
2.74k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::handle_nonascii()
Line
Count
Source
5102
10.5k
        {
5103
10.5k
            if (!specs.charset_has_nonascii) {
5104
10.4k
                return {};
5105
10.4k
            }
5106
5107
66
            auto charset_string = specs.charset_string<SourceCharT>();
5108
66
            auto it = detail::to_address(charset_string.begin());
5109
66
            auto set = detail::parse_presentation_set(
5110
66
                it, detail::to_address(charset_string.end()), nonascii);
5111
66
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
66
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
66
            SCN_ENSURE(set == charset_string);
5116
5117
66
            std::sort(nonascii.extra_ranges.begin(),
5118
66
                      nonascii.extra_ranges.end());
5119
66
            return {};
5120
66
        }
5121
5122
        const detail::format_specs& specs;
5123
        nonascii_specs_handler nonascii;
5124
    };
5125
5126
    struct read_source_callback {
5127
        SCN_NODISCARD bool on_ascii_only(SourceCharT ch) const
5128
39.4k
        {
5129
39.4k
            if (!is_ascii_char(ch)) {
5130
8.44k
                return false;
5131
8.44k
            }
5132
5133
31.0k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
39.4k
        }
scn::v3::impl::character_set_reader_impl<char>::read_source_callback::on_ascii_only(char) const
Line
Count
Source
5128
28.9k
        {
5129
28.9k
            if (!is_ascii_char(ch)) {
5130
3.75k
                return false;
5131
3.75k
            }
5132
5133
25.1k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
28.9k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_ascii_only(wchar_t) const
Line
Count
Source
5128
10.5k
        {
5129
10.5k
            if (!is_ascii_char(ch)) {
5130
4.69k
                return false;
5131
4.69k
            }
5132
5133
5.85k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
10.5k
        }
5135
5136
        SCN_NODISCARD bool on_classic_with_extra_ranges(char32_t cp) const
5137
432k
        {
5138
432k
            if (!is_ascii_char(cp)) {
5139
49.5k
                return helper.is_char_set_in_extra_literals(cp);
5140
49.5k
            }
5141
5142
383k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
432k
        }
scn::v3::impl::character_set_reader_impl<char>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5137
432k
        {
5138
432k
            if (!is_ascii_char(cp)) {
5139
49.5k
                return helper.is_char_set_in_extra_literals(cp);
5140
49.5k
            }
5141
5142
383k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
432k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5137
72
        {
5138
72
            if (!is_ascii_char(cp)) {
5139
0
                return helper.is_char_set_in_extra_literals(cp);
5140
0
            }
5141
5142
72
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
72
        }
5144
5145
        const specs_helper& helper;
5146
        detail::locale_ref loc{};
5147
    };
5148
5149
    template <typename Range>
5150
    auto read_source_impl(Range range, specs_helper helper) const
5151
        -> scan_expected<ranges::const_iterator_t<Range>>
5152
21.7k
    {
5153
21.7k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
21.7k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
21.7k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
21.7k
        read_source_callback cb_wrapper{helper};
5161
5162
21.7k
        if (accepts_nonascii) {
5163
432k
            const auto cb = [&](char32_t cp) {
5164
432k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
432k
            };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
36.8k
            const auto cb = [&](char32_t cp) {
5164
36.8k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
36.8k
            };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
395k
            const auto cb = [&](char32_t cp) {
5164
395k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
395k
            };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
72
            const auto cb = [&](char32_t cp) {
5164
72
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
72
            };
5166
5167
2.80k
            if (is_inverted) {
5168
354
                auto it = read_until_code_point(range, cb);
5169
354
                return check_nonempty(it, range);
5170
354
            }
5171
2.45k
            auto it = read_while_code_point(range, cb);
5172
2.45k
            return check_nonempty(it, range);
5173
2.80k
        }
5174
5175
39.4k
        const auto cb = [&](SourceCharT ch) {
5176
39.4k
            return cb_wrapper.on_ascii_only(ch);
5177
39.4k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlcE_clEc
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
6.43k
        const auto cb = [&](SourceCharT ch) {
5176
6.43k
            return cb_wrapper.on_ascii_only(ch);
5177
6.43k
        };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
5.55k
        const auto cb = [&](SourceCharT ch) {
5176
5.55k
            return cb_wrapper.on_ascii_only(ch);
5177
5.55k
        };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
16.9k
        const auto cb = [&](SourceCharT ch) {
5176
16.9k
            return cb_wrapper.on_ascii_only(ch);
5177
16.9k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5175
3.50k
        const auto cb = [&](SourceCharT ch) {
5176
3.50k
            return cb_wrapper.on_ascii_only(ch);
5177
3.50k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5175
7.03k
        const auto cb = [&](SourceCharT ch) {
5176
7.03k
            return cb_wrapper.on_ascii_only(ch);
5177
7.03k
        };
5178
5179
18.9k
        if (is_inverted) {
5180
282
            auto it = read_until_code_unit(range, cb);
5181
282
            return check_nonempty(it, range);
5182
282
        }
5183
18.6k
        auto it = read_while_code_unit(range, cb);
5184
18.6k
        return check_nonempty(it, range);
5185
18.9k
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
Line
Count
Source
5152
2.62k
    {
5153
2.62k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
2.62k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
2.62k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
2.62k
        read_source_callback cb_wrapper{helper};
5161
5162
2.62k
        if (accepts_nonascii) {
5163
0
            const auto cb = [&](char32_t cp) {
5164
0
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
0
            };
5166
5167
0
            if (is_inverted) {
5168
0
                auto it = read_until_code_point(range, cb);
5169
0
                return check_nonempty(it, range);
5170
0
            }
5171
0
            auto it = read_while_code_point(range, cb);
5172
0
            return check_nonempty(it, range);
5173
0
        }
5174
5175
2.62k
        const auto cb = [&](SourceCharT ch) {
5176
2.62k
            return cb_wrapper.on_ascii_only(ch);
5177
2.62k
        };
5178
5179
2.62k
        if (is_inverted) {
5180
0
            auto it = read_until_code_unit(range, cb);
5181
0
            return check_nonempty(it, range);
5182
0
        }
5183
2.62k
        auto it = read_while_code_unit(range, cb);
5184
2.62k
        return check_nonempty(it, range);
5185
2.62k
    }
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5152
540
    {
5153
540
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
540
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
540
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
540
        read_source_callback cb_wrapper{helper};
5161
5162
540
        if (accepts_nonascii) {
5163
318
            const auto cb = [&](char32_t cp) {
5164
318
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
318
            };
5166
5167
318
            if (is_inverted) {
5168
102
                auto it = read_until_code_point(range, cb);
5169
102
                return check_nonempty(it, range);
5170
102
            }
5171
216
            auto it = read_while_code_point(range, cb);
5172
216
            return check_nonempty(it, range);
5173
318
        }
5174
5175
222
        const auto cb = [&](SourceCharT ch) {
5176
222
            return cb_wrapper.on_ascii_only(ch);
5177
222
        };
5178
5179
222
        if (is_inverted) {
5180
138
            auto it = read_until_code_unit(range, cb);
5181
138
            return check_nonempty(it, range);
5182
138
        }
5183
84
        auto it = read_while_code_unit(range, cb);
5184
84
        return check_nonempty(it, range);
5185
222
    }
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5152
8.00k
    {
5153
8.00k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
8.00k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
8.00k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
8.00k
        read_source_callback cb_wrapper{helper};
5161
5162
8.00k
        if (accepts_nonascii) {
5163
2.42k
            const auto cb = [&](char32_t cp) {
5164
2.42k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
2.42k
            };
5166
5167
2.42k
            if (is_inverted) {
5168
252
                auto it = read_until_code_point(range, cb);
5169
252
                return check_nonempty(it, range);
5170
252
            }
5171
2.17k
            auto it = read_while_code_point(range, cb);
5172
2.17k
            return check_nonempty(it, range);
5173
2.42k
        }
5174
5175
5.58k
        const auto cb = [&](SourceCharT ch) {
5176
5.58k
            return cb_wrapper.on_ascii_only(ch);
5177
5.58k
        };
5178
5179
5.58k
        if (is_inverted) {
5180
144
            auto it = read_until_code_unit(range, cb);
5181
144
            return check_nonempty(it, range);
5182
144
        }
5183
5.43k
        auto it = read_while_code_unit(range, cb);
5184
5.43k
        return check_nonempty(it, range);
5185
5.58k
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
Line
Count
Source
5152
3.48k
    {
5153
3.48k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
3.48k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
3.48k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
3.48k
        read_source_callback cb_wrapper{helper};
5161
5162
3.48k
        if (accepts_nonascii) {
5163
0
            const auto cb = [&](char32_t cp) {
5164
0
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
0
            };
5166
5167
0
            if (is_inverted) {
5168
0
                auto it = read_until_code_point(range, cb);
5169
0
                return check_nonempty(it, range);
5170
0
            }
5171
0
            auto it = read_while_code_point(range, cb);
5172
0
            return check_nonempty(it, range);
5173
0
        }
5174
5175
3.48k
        const auto cb = [&](SourceCharT ch) {
5176
3.48k
            return cb_wrapper.on_ascii_only(ch);
5177
3.48k
        };
5178
5179
3.48k
        if (is_inverted) {
5180
0
            auto it = read_until_code_unit(range, cb);
5181
0
            return check_nonempty(it, range);
5182
0
        }
5183
3.48k
        auto it = read_while_code_unit(range, cb);
5184
3.48k
        return check_nonempty(it, range);
5185
3.48k
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5152
7.05k
    {
5153
7.05k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
7.05k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
7.05k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
7.05k
        read_source_callback cb_wrapper{helper};
5161
5162
7.05k
        if (accepts_nonascii) {
5163
66
            const auto cb = [&](char32_t cp) {
5164
66
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
66
            };
5166
5167
66
            if (is_inverted) {
5168
0
                auto it = read_until_code_point(range, cb);
5169
0
                return check_nonempty(it, range);
5170
0
            }
5171
66
            auto it = read_while_code_point(range, cb);
5172
66
            return check_nonempty(it, range);
5173
66
        }
5174
5175
6.98k
        const auto cb = [&](SourceCharT ch) {
5176
6.98k
            return cb_wrapper.on_ascii_only(ch);
5177
6.98k
        };
5178
5179
6.98k
        if (is_inverted) {
5180
0
            auto it = read_until_code_unit(range, cb);
5181
0
            return check_nonempty(it, range);
5182
0
        }
5183
6.98k
        auto it = read_while_code_unit(range, cb);
5184
6.98k
        return check_nonempty(it, range);
5185
6.98k
    }
5186
5187
    template <typename Iterator, typename Range>
5188
    static scan_expected<Iterator> check_nonempty(const Iterator& it,
5189
                                                  Range range)
5190
21.7k
    {
5191
21.7k
        if (it == range.begin()) {
5192
16.4k
            return unexpected_scan_error(
5193
16.4k
                scan_error::invalid_scanned_value,
5194
16.4k
                "No characters matched in [character set]");
5195
16.4k
        }
5196
5197
5.23k
        return it;
5198
21.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
5190
2.62k
    {
5191
2.62k
        if (it == range.begin()) {
5192
1.72k
            return unexpected_scan_error(
5193
1.72k
                scan_error::invalid_scanned_value,
5194
1.72k
                "No characters matched in [character set]");
5195
1.72k
        }
5196
5197
906
        return it;
5198
2.62k
    }
scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
5190
540
    {
5191
540
        if (it == range.begin()) {
5192
30
            return unexpected_scan_error(
5193
30
                scan_error::invalid_scanned_value,
5194
30
                "No characters matched in [character set]");
5195
30
        }
5196
5197
510
        return it;
5198
540
    }
scn::v3::scan_expected<char const*> scn::v3::impl::character_set_reader_impl<char>::check_nonempty<char const*, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(char const* const&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
5190
8.00k
    {
5191
8.00k
        if (it == range.begin()) {
5192
4.32k
            return unexpected_scan_error(
5193
4.32k
                scan_error::invalid_scanned_value,
5194
4.32k
                "No characters matched in [character set]");
5195
4.32k
        }
5196
5197
3.67k
        return it;
5198
8.00k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
5190
3.48k
    {
5191
3.48k
        if (it == range.begin()) {
5192
3.44k
            return unexpected_scan_error(
5193
3.44k
                scan_error::invalid_scanned_value,
5194
3.44k
                "No characters matched in [character set]");
5195
3.44k
        }
5196
5197
42
        return it;
5198
3.48k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<wchar_t const*, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(wchar_t const* const&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
5190
7.05k
    {
5191
7.05k
        if (it == range.begin()) {
5192
6.95k
            return unexpected_scan_error(
5193
6.95k
                scan_error::invalid_scanned_value,
5194
6.95k
                "No characters matched in [character set]");
5195
6.95k
        }
5196
5197
96
        return it;
5198
7.05k
    }
5199
};
5200
5201
template <typename SourceCharT>
5202
class string_reader
5203
    : public reader_base<string_reader<SourceCharT>, SourceCharT> {
5204
public:
5205
75.3M
    constexpr string_reader() = default;
scn::v3::impl::string_reader<char>::string_reader()
Line
Count
Source
5205
535k
    constexpr string_reader() = default;
scn::v3::impl::string_reader<wchar_t>::string_reader()
Line
Count
Source
5205
74.8M
    constexpr string_reader() = default;
5206
5207
    void check_specs_impl(const detail::format_specs& specs,
5208
                          reader_error_handler& eh)
5209
30.1M
    {
5210
30.1M
        detail::check_string_type_specs(specs, eh);
5211
5212
30.1M
        SCN_GCC_PUSH
5213
30.1M
        SCN_GCC_IGNORE("-Wswitch")
5214
30.1M
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
30.1M
        SCN_CLANG_PUSH
5217
30.1M
        SCN_CLANG_IGNORE("-Wswitch")
5218
30.1M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
30.1M
        switch (specs.type) {
5221
2.64k
            case detail::presentation_type::none:
5222
2.64k
                m_type = reader_type::word;
5223
2.64k
                break;
5224
5225
30.1M
            case detail::presentation_type::string: {
5226
30.1M
                if (specs.align == detail::align_type::left ||
5227
30.1M
                    specs.align == detail::align_type::center) {
5228
480
                    m_type = reader_type::custom_word;
5229
480
                }
5230
30.1M
                else {
5231
30.1M
                    m_type = reader_type::word;
5232
30.1M
                }
5233
30.1M
                break;
5234
0
            }
5235
5236
15.6k
            case detail::presentation_type::character:
5237
15.6k
                m_type = reader_type::character;
5238
15.6k
                break;
5239
5240
21.7k
            case detail::presentation_type::string_set:
5241
21.7k
                m_type = reader_type::character_set;
5242
21.7k
                break;
5243
5244
12.5k
            case detail::presentation_type::regex:
5245
12.5k
                m_type = reader_type::regex;
5246
12.5k
                break;
5247
5248
948
            case detail::presentation_type::regex_escaped:
5249
948
                m_type = reader_type::regex_escaped;
5250
948
                break;
5251
30.1M
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
30.1M
    }
scn::v3::impl::string_reader<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5209
230k
    {
5210
230k
        detail::check_string_type_specs(specs, eh);
5211
5212
230k
        SCN_GCC_PUSH
5213
230k
        SCN_GCC_IGNORE("-Wswitch")
5214
230k
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
230k
        SCN_CLANG_PUSH
5217
230k
        SCN_CLANG_IGNORE("-Wswitch")
5218
230k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
230k
        switch (specs.type) {
5221
1.38k
            case detail::presentation_type::none:
5222
1.38k
                m_type = reader_type::word;
5223
1.38k
                break;
5224
5225
202k
            case detail::presentation_type::string: {
5226
202k
                if (specs.align == detail::align_type::left ||
5227
202k
                    specs.align == detail::align_type::center) {
5228
306
                    m_type = reader_type::custom_word;
5229
306
                }
5230
202k
                else {
5231
202k
                    m_type = reader_type::word;
5232
202k
                }
5233
202k
                break;
5234
0
            }
5235
5236
5.27k
            case detail::presentation_type::character:
5237
5.27k
                m_type = reader_type::character;
5238
5.27k
                break;
5239
5240
11.1k
            case detail::presentation_type::string_set:
5241
11.1k
                m_type = reader_type::character_set;
5242
11.1k
                break;
5243
5244
8.81k
            case detail::presentation_type::regex:
5245
8.81k
                m_type = reader_type::regex;
5246
8.81k
                break;
5247
5248
846
            case detail::presentation_type::regex_escaped:
5249
846
                m_type = reader_type::regex_escaped;
5250
846
                break;
5251
230k
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
230k
    }
scn::v3::impl::string_reader<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5209
29.9M
    {
5210
29.9M
        detail::check_string_type_specs(specs, eh);
5211
5212
29.9M
        SCN_GCC_PUSH
5213
29.9M
        SCN_GCC_IGNORE("-Wswitch")
5214
29.9M
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
29.9M
        SCN_CLANG_PUSH
5217
29.9M
        SCN_CLANG_IGNORE("-Wswitch")
5218
29.9M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
29.9M
        switch (specs.type) {
5221
1.26k
            case detail::presentation_type::none:
5222
1.26k
                m_type = reader_type::word;
5223
1.26k
                break;
5224
5225
29.9M
            case detail::presentation_type::string: {
5226
29.9M
                if (specs.align == detail::align_type::left ||
5227
29.9M
                    specs.align == detail::align_type::center) {
5228
174
                    m_type = reader_type::custom_word;
5229
174
                }
5230
29.9M
                else {
5231
29.9M
                    m_type = reader_type::word;
5232
29.9M
                }
5233
29.9M
                break;
5234
0
            }
5235
5236
10.3k
            case detail::presentation_type::character:
5237
10.3k
                m_type = reader_type::character;
5238
10.3k
                break;
5239
5240
10.5k
            case detail::presentation_type::string_set:
5241
10.5k
                m_type = reader_type::character_set;
5242
10.5k
                break;
5243
5244
3.73k
            case detail::presentation_type::regex:
5245
3.73k
                m_type = reader_type::regex;
5246
3.73k
                break;
5247
5248
102
            case detail::presentation_type::regex_escaped:
5249
102
                m_type = reader_type::regex_escaped;
5250
102
                break;
5251
29.9M
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
29.9M
    }
5256
5257
    bool skip_ws_before_read() const
5258
105M
    {
5259
105M
        return m_type == reader_type::word;
5260
105M
    }
scn::v3::impl::string_reader<char>::skip_ws_before_read() const
Line
Count
Source
5258
732k
    {
5259
732k
        return m_type == reader_type::word;
5260
732k
    }
scn::v3::impl::string_reader<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5258
104M
    {
5259
104M
        return m_type == reader_type::word;
5260
104M
    }
5261
5262
    template <typename Range, typename Value>
5263
    auto read_default(Range range, Value& value, detail::locale_ref loc)
5264
        -> scan_expected<ranges::const_iterator_t<Range>>
5265
45.1M
    {
5266
45.1M
        SCN_UNUSED(loc);
5267
45.1M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
45.1M
    }
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
99.3k
    {
5266
99.3k
        SCN_UNUSED(loc);
5267
99.3k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
99.3k
    }
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
99.3k
    {
5266
99.3k
        SCN_UNUSED(loc);
5267
99.3k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
99.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
646
    {
5266
646
        SCN_UNUSED(loc);
5267
646
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
646
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Line
Count
Source
5265
101k
    {
5266
101k
        SCN_UNUSED(loc);
5267
101k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
101k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
496
    {
5266
496
        SCN_UNUSED(loc);
5267
496
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
496
    }
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
14.9M
    {
5266
14.9M
        SCN_UNUSED(loc);
5267
14.9M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
14.9M
    }
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
14.9M
    {
5266
14.9M
        SCN_UNUSED(loc);
5267
14.9M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
14.9M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Line
Count
Source
5265
14.9M
    {
5266
14.9M
        SCN_UNUSED(loc);
5267
14.9M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
14.9M
    }
5269
5270
    template <typename Range, typename Value>
5271
    auto read_specs(Range range,
5272
                    const detail::format_specs& specs,
5273
                    Value& value,
5274
                    detail::locale_ref loc)
5275
        -> scan_expected<ranges::const_iterator_t<Range>>
5276
30.1M
    {
5277
30.1M
        SCN_UNUSED(loc);
5278
30.1M
        return read_impl(range, specs, value);
5279
30.1M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
5276
69.7k
    {
5277
69.7k
        SCN_UNUSED(loc);
5278
69.7k
        return read_impl(range, specs, value);
5279
69.7k
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
594
    {
5277
594
        SCN_UNUSED(loc);
5278
594
        return read_impl(range, specs, value);
5279
594
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
72.8k
    {
5277
72.8k
        SCN_UNUSED(loc);
5278
72.8k
        return read_impl(range, specs, value);
5279
72.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
594
    {
5277
594
        SCN_UNUSED(loc);
5278
594
        return read_impl(range, specs, value);
5279
594
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
4.37k
    {
5277
4.37k
        SCN_UNUSED(loc);
5278
4.37k
        return read_impl(range, specs, value);
5279
4.37k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
594
    {
5277
594
        SCN_UNUSED(loc);
5278
594
        return read_impl(range, specs, value);
5279
594
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5276
72.8k
    {
5277
72.8k
        SCN_UNUSED(loc);
5278
72.8k
        return read_impl(range, specs, value);
5279
72.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
176
    {
5277
176
        SCN_UNUSED(loc);
5278
176
        return read_impl(range, specs, value);
5279
176
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
1.66k
    {
5277
1.66k
        SCN_UNUSED(loc);
5278
1.66k
        return read_impl(range, specs, value);
5279
1.66k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
5276
9.97M
    {
5277
9.97M
        SCN_UNUSED(loc);
5278
9.97M
        return read_impl(range, specs, value);
5279
9.97M
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
176
    {
5277
176
        SCN_UNUSED(loc);
5278
176
        return read_impl(range, specs, value);
5279
176
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
9.97M
    {
5277
9.97M
        SCN_UNUSED(loc);
5278
9.97M
        return read_impl(range, specs, value);
5279
9.97M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
176
    {
5277
176
        SCN_UNUSED(loc);
5278
176
        return read_impl(range, specs, value);
5279
176
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5276
9.97M
    {
5277
9.97M
        SCN_UNUSED(loc);
5278
9.97M
        return read_impl(range, specs, value);
5279
9.97M
    }
5280
5281
protected:
5282
    enum class reader_type {
5283
        word,
5284
        custom_word,
5285
        character,
5286
        character_set,
5287
        regex,
5288
        regex_escaped,
5289
    };
5290
5291
    template <typename Range, typename Value>
5292
    auto read_impl(Range range, const detail::format_specs& specs, Value& value)
5293
        -> scan_expected<ranges::const_iterator_t<Range>>
5294
30.1M
    {
5295
30.1M
        SCN_CLANG_PUSH
5296
30.1M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
30.1M
        switch (m_type) {
5299
30.1M
            case reader_type::word:
5300
30.1M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
480
            case reader_type::custom_word:
5303
480
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
480
                                                                   value);
5305
5306
150
            case reader_type::character:
5307
150
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
21.7k
            case reader_type::character_set:
5310
21.7k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
21.7k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
12.5k
            case reader_type::regex:
5315
12.5k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
12.5k
                    range, specs.charset_string<SourceCharT>(),
5317
12.5k
                    specs.regexp_flags, value);
5318
5319
948
            case reader_type::regex_escaped:
5320
948
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
948
                    range,
5322
948
                    get_unescaped_regex_pattern(
5323
948
                        specs.charset_string<SourceCharT>()),
5324
948
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
30.1M
                SCN_UNREACHABLE;
5330
30.1M
        }
5331
5332
30.1M
        SCN_CLANG_POP
5333
30.1M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
Line
Count
Source
5294
69.7k
    {
5295
69.7k
        SCN_CLANG_PUSH
5296
69.7k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
69.7k
        switch (m_type) {
5299
67.1k
            case reader_type::word:
5300
67.1k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
2.62k
            case reader_type::character_set:
5310
2.62k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
2.62k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
0
            case reader_type::regex:
5315
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
0
                    range, specs.charset_string<SourceCharT>(),
5317
0
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
69.7k
                SCN_UNREACHABLE;
5330
69.7k
        }
5331
5332
69.7k
        SCN_CLANG_POP
5333
69.7k
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
594
    {
5295
594
        SCN_CLANG_PUSH
5296
594
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
594
        switch (m_type) {
5299
248
            case reader_type::word:
5300
248
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
56
            case reader_type::custom_word:
5303
56
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
56
                                                                   value);
5305
5306
34
            case reader_type::character:
5307
34
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
180
            case reader_type::character_set:
5310
180
                return character_set_reader_impl<SourceCharT>{}.read(
5311
180
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
74
            case reader_type::regex_escaped:
5320
74
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
74
                    range,
5322
74
                    get_unescaped_regex_pattern(
5323
74
                        specs.charset_string<SourceCharT>()),
5324
74
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
594
                SCN_UNREACHABLE;
5330
594
        }
5331
5332
594
        SCN_CLANG_POP
5333
594
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
72.8k
    {
5295
72.8k
        SCN_CLANG_PUSH
5296
72.8k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
72.8k
        switch (m_type) {
5299
66.0k
            case reader_type::word:
5300
66.0k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
46
            case reader_type::custom_word:
5303
46
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
46
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.54k
            case reader_type::character_set:
5310
3.54k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.54k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2.93k
            case reader_type::regex:
5315
2.93k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2.93k
                    range, specs.charset_string<SourceCharT>(),
5317
2.93k
                    specs.regexp_flags, value);
5318
5319
208
            case reader_type::regex_escaped:
5320
208
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
208
                    range,
5322
208
                    get_unescaped_regex_pattern(
5323
208
                        specs.charset_string<SourceCharT>()),
5324
208
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
72.8k
                SCN_UNREACHABLE;
5330
72.8k
        }
5331
5332
72.8k
        SCN_CLANG_POP
5333
72.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
594
    {
5295
594
        SCN_CLANG_PUSH
5296
594
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
594
        switch (m_type) {
5299
248
            case reader_type::word:
5300
248
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
56
            case reader_type::custom_word:
5303
56
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
56
                                                                   value);
5305
5306
34
            case reader_type::character:
5307
34
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
180
            case reader_type::character_set:
5310
180
                return character_set_reader_impl<SourceCharT>{}.read(
5311
180
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
74
            case reader_type::regex_escaped:
5320
74
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
74
                    range,
5322
74
                    get_unescaped_regex_pattern(
5323
74
                        specs.charset_string<SourceCharT>()),
5324
74
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
594
                SCN_UNREACHABLE;
5330
594
        }
5331
5332
594
        SCN_CLANG_POP
5333
594
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
4.37k
    {
5295
4.37k
        SCN_CLANG_PUSH
5296
4.37k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
4.37k
        switch (m_type) {
5299
268
            case reader_type::word:
5300
268
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
46
            case reader_type::custom_word:
5303
46
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
46
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
916
            case reader_type::character_set:
5310
916
                return character_set_reader_impl<SourceCharT>{}.read(
5311
916
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2.93k
            case reader_type::regex:
5315
2.93k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2.93k
                    range, specs.charset_string<SourceCharT>(),
5317
2.93k
                    specs.regexp_flags, value);
5318
5319
208
            case reader_type::regex_escaped:
5320
208
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
208
                    range,
5322
208
                    get_unescaped_regex_pattern(
5323
208
                        specs.charset_string<SourceCharT>()),
5324
208
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
4.37k
                SCN_UNREACHABLE;
5330
4.37k
        }
5331
5332
4.37k
        SCN_CLANG_POP
5333
4.37k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
594
    {
5295
594
        SCN_CLANG_PUSH
5296
594
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
594
        switch (m_type) {
5299
248
            case reader_type::word:
5300
248
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
56
            case reader_type::custom_word:
5303
56
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
56
                                                                   value);
5305
5306
34
            case reader_type::character:
5307
34
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
180
            case reader_type::character_set:
5310
180
                return character_set_reader_impl<SourceCharT>{}.read(
5311
180
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
74
            case reader_type::regex_escaped:
5320
74
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
74
                    range,
5322
74
                    get_unescaped_regex_pattern(
5323
74
                        specs.charset_string<SourceCharT>()),
5324
74
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
594
                SCN_UNREACHABLE;
5330
594
        }
5331
5332
594
        SCN_CLANG_POP
5333
594
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
72.8k
    {
5295
72.8k
        SCN_CLANG_PUSH
5296
72.8k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
72.8k
        switch (m_type) {
5299
66.0k
            case reader_type::word:
5300
66.0k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
46
            case reader_type::custom_word:
5303
46
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
46
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.54k
            case reader_type::character_set:
5310
3.54k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.54k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2.93k
            case reader_type::regex:
5315
2.93k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2.93k
                    range, specs.charset_string<SourceCharT>(),
5317
2.93k
                    specs.regexp_flags, value);
5318
5319
208
            case reader_type::regex_escaped:
5320
208
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
208
                    range,
5322
208
                    get_unescaped_regex_pattern(
5323
208
                        specs.charset_string<SourceCharT>()),
5324
208
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
72.8k
                SCN_UNREACHABLE;
5330
72.8k
        }
5331
5332
72.8k
        SCN_CLANG_POP
5333
72.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
176
    {
5295
176
        SCN_CLANG_PUSH
5296
176
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
176
        switch (m_type) {
5299
126
            case reader_type::word:
5300
126
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
30
            case reader_type::custom_word:
5303
30
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
30
                                                                   value);
5305
5306
16
            case reader_type::character:
5307
16
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
2
            case reader_type::regex_escaped:
5320
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
2
                    range,
5322
2
                    get_unescaped_regex_pattern(
5323
2
                        specs.charset_string<SourceCharT>()),
5324
2
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
176
                SCN_UNREACHABLE;
5330
176
        }
5331
5332
176
        SCN_CLANG_POP
5333
176
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
1.66k
    {
5295
1.66k
        SCN_CLANG_PUSH
5296
1.66k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
1.66k
        switch (m_type) {
5299
332
            case reader_type::word:
5300
332
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
28
            case reader_type::custom_word:
5303
28
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
28
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
26
            case reader_type::character_set:
5310
26
                return character_set_reader_impl<SourceCharT>{}.read(
5311
26
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
1.24k
            case reader_type::regex:
5315
1.24k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
1.24k
                    range, specs.charset_string<SourceCharT>(),
5317
1.24k
                    specs.regexp_flags, value);
5318
5319
32
            case reader_type::regex_escaped:
5320
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
32
                    range,
5322
32
                    get_unescaped_regex_pattern(
5323
32
                        specs.charset_string<SourceCharT>()),
5324
32
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
1.66k
                SCN_UNREACHABLE;
5330
1.66k
        }
5331
5332
1.66k
        SCN_CLANG_POP
5333
1.66k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
Line
Count
Source
5294
9.97M
    {
5295
9.97M
        SCN_CLANG_PUSH
5296
9.97M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
9.97M
        switch (m_type) {
5299
9.97M
            case reader_type::word:
5300
9.97M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.48k
            case reader_type::character_set:
5310
3.48k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.48k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
0
            case reader_type::regex:
5315
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
0
                    range, specs.charset_string<SourceCharT>(),
5317
0
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
9.97M
                SCN_UNREACHABLE;
5330
9.97M
        }
5331
5332
9.97M
        SCN_CLANG_POP
5333
9.97M
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
176
    {
5295
176
        SCN_CLANG_PUSH
5296
176
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
176
        switch (m_type) {
5299
126
            case reader_type::word:
5300
126
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
30
            case reader_type::custom_word:
5303
30
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
30
                                                                   value);
5305
5306
16
            case reader_type::character:
5307
16
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
2
            case reader_type::regex_escaped:
5320
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
2
                    range,
5322
2
                    get_unescaped_regex_pattern(
5323
2
                        specs.charset_string<SourceCharT>()),
5324
2
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
176
                SCN_UNREACHABLE;
5330
176
        }
5331
5332
176
        SCN_CLANG_POP
5333
176
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
9.97M
    {
5295
9.97M
        SCN_CLANG_PUSH
5296
9.97M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
9.97M
        switch (m_type) {
5299
9.97M
            case reader_type::word:
5300
9.97M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
28
            case reader_type::custom_word:
5303
28
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
28
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.51k
            case reader_type::character_set:
5310
3.51k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.51k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
1.24k
            case reader_type::regex:
5315
1.24k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
1.24k
                    range, specs.charset_string<SourceCharT>(),
5317
1.24k
                    specs.regexp_flags, value);
5318
5319
32
            case reader_type::regex_escaped:
5320
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
32
                    range,
5322
32
                    get_unescaped_regex_pattern(
5323
32
                        specs.charset_string<SourceCharT>()),
5324
32
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
9.97M
                SCN_UNREACHABLE;
5330
9.97M
        }
5331
5332
9.97M
        SCN_CLANG_POP
5333
9.97M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
176
    {
5295
176
        SCN_CLANG_PUSH
5296
176
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
176
        switch (m_type) {
5299
126
            case reader_type::word:
5300
126
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
30
            case reader_type::custom_word:
5303
30
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
30
                                                                   value);
5305
5306
16
            case reader_type::character:
5307
16
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
2
            case reader_type::regex_escaped:
5320
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
2
                    range,
5322
2
                    get_unescaped_regex_pattern(
5323
2
                        specs.charset_string<SourceCharT>()),
5324
2
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
176
                SCN_UNREACHABLE;
5330
176
        }
5331
5332
176
        SCN_CLANG_POP
5333
176
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
9.97M
    {
5295
9.97M
        SCN_CLANG_PUSH
5296
9.97M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
9.97M
        switch (m_type) {
5299
9.97M
            case reader_type::word:
5300
9.97M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
28
            case reader_type::custom_word:
5303
28
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
28
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
3.51k
            case reader_type::character_set:
5310
3.51k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
3.51k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
1.24k
            case reader_type::regex:
5315
1.24k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
1.24k
                    range, specs.charset_string<SourceCharT>(),
5317
1.24k
                    specs.regexp_flags, value);
5318
5319
32
            case reader_type::regex_escaped:
5320
32
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
32
                    range,
5322
32
                    get_unescaped_regex_pattern(
5323
32
                        specs.charset_string<SourceCharT>()),
5324
32
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
9.97M
                SCN_UNREACHABLE;
5330
9.97M
        }
5331
5332
9.97M
        SCN_CLANG_POP
5333
9.97M
    }
5334
5335
    reader_type m_type{reader_type::word};
5336
};
5337
5338
template <typename SourceCharT>
5339
class reader_impl_for_string : public string_reader<SourceCharT> {};
5340
5341
/////////////////////////////////////////////////////////////////
5342
// Boolean reader
5343
/////////////////////////////////////////////////////////////////
5344
5345
struct bool_reader_base {
5346
    enum options_type { allow_text = 1, allow_numeric = 2 };
5347
5348
1.14k
    constexpr bool_reader_base() = default;
5349
1.25k
    constexpr bool_reader_base(unsigned opt) : m_options(opt) {}
5350
5351
    template <typename Range>
5352
    auto read_classic(Range range, bool& value) const
5353
        -> scan_expected<ranges::const_iterator_t<Range>>
5354
2.34k
    {
5355
2.34k
        scan_error err{scan_error::invalid_scanned_value,
5356
2.34k
                       "Failed to read boolean"};
5357
5358
2.34k
        if (m_options & allow_numeric) {
5359
2.07k
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
2.07k
            else {
5363
2.07k
                err = r.error();
5364
2.07k
            }
5365
2.07k
        }
5366
5367
2.34k
        if (m_options & allow_text) {
5368
2.27k
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
2.27k
            else {
5372
2.27k
                err = r.error();
5373
2.27k
            }
5374
2.27k
        }
5375
5376
2.34k
        return unexpected(err);
5377
2.34k
    }
_ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5354
978
    {
5355
978
        scan_error err{scan_error::invalid_scanned_value,
5356
978
                       "Failed to read boolean"};
5357
5358
978
        if (m_options & allow_numeric) {
5359
868
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
868
            else {
5363
868
                err = r.error();
5364
868
            }
5365
868
        }
5366
5367
978
        if (m_options & allow_text) {
5368
960
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
960
            else {
5372
960
                err = r.error();
5373
960
            }
5374
960
        }
5375
5376
978
        return unexpected(err);
5377
978
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5354
326
    {
5355
326
        scan_error err{scan_error::invalid_scanned_value,
5356
326
                       "Failed to read boolean"};
5357
5358
326
        if (m_options & allow_numeric) {
5359
264
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
264
            else {
5363
264
                err = r.error();
5364
264
            }
5365
264
        }
5366
5367
326
        if (m_options & allow_text) {
5368
304
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
304
            else {
5372
304
                err = r.error();
5373
304
            }
5374
304
        }
5375
5376
326
        return unexpected(err);
5377
326
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5354
870
    {
5355
870
        scan_error err{scan_error::invalid_scanned_value,
5356
870
                       "Failed to read boolean"};
5357
5358
870
        if (m_options & allow_numeric) {
5359
828
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
828
            else {
5363
828
                err = r.error();
5364
828
            }
5365
828
        }
5366
5367
870
        if (m_options & allow_text) {
5368
856
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
856
            else {
5372
856
                err = r.error();
5373
856
            }
5374
856
        }
5375
5376
870
        return unexpected(err);
5377
870
    }
_ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5354
170
    {
5355
170
        scan_error err{scan_error::invalid_scanned_value,
5356
170
                       "Failed to read boolean"};
5357
5358
170
        if (m_options & allow_numeric) {
5359
116
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
116
            else {
5363
116
                err = r.error();
5364
116
            }
5365
116
        }
5366
5367
170
        if (m_options & allow_text) {
5368
156
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
156
            else {
5372
156
                err = r.error();
5373
156
            }
5374
156
        }
5375
5376
170
        return unexpected(err);
5377
170
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5378
5379
protected:
5380
    template <typename Range>
5381
    auto read_numeric(Range range, bool& value) const
5382
        -> scan_expected<ranges::const_iterator_t<Range>>
5383
2.12k
    {
5384
2.12k
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
2.12k
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
2.12k
        return unexpected_scan_error(
5394
2.12k
            scan_error::invalid_scanned_value,
5395
2.12k
            "Failed to read numeric boolean value: No match");
5396
2.12k
    }
_ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5383
882
    {
5384
882
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
882
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
882
        return unexpected_scan_error(
5394
882
            scan_error::invalid_scanned_value,
5395
882
            "Failed to read numeric boolean value: No match");
5396
882
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5383
274
    {
5384
274
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
274
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
274
        return unexpected_scan_error(
5394
274
            scan_error::invalid_scanned_value,
5395
274
            "Failed to read numeric boolean value: No match");
5396
274
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5383
844
    {
5384
844
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
844
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
844
        return unexpected_scan_error(
5394
844
            scan_error::invalid_scanned_value,
5395
844
            "Failed to read numeric boolean value: No match");
5396
844
    }
_ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5383
122
    {
5384
122
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
122
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
122
        return unexpected_scan_error(
5394
122
            scan_error::invalid_scanned_value,
5395
122
            "Failed to read numeric boolean value: No match");
5396
122
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5397
5398
    template <typename Range>
5399
    auto read_textual_classic(Range range, bool& value) const
5400
        -> scan_expected<ranges::const_iterator_t<Range>>
5401
2.27k
    {
5402
2.27k
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
2.27k
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
2.27k
        return unexpected_scan_error(
5412
2.27k
            scan_error::invalid_scanned_value,
5413
2.27k
            "Failed to read textual boolean value: No match");
5414
2.27k
    }
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5401
960
    {
5402
960
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
960
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
960
        return unexpected_scan_error(
5412
960
            scan_error::invalid_scanned_value,
5413
960
            "Failed to read textual boolean value: No match");
5414
960
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5401
304
    {
5402
304
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
304
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
304
        return unexpected_scan_error(
5412
304
            scan_error::invalid_scanned_value,
5413
304
            "Failed to read textual boolean value: No match");
5414
304
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5401
856
    {
5402
856
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
856
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
856
        return unexpected_scan_error(
5412
856
            scan_error::invalid_scanned_value,
5413
856
            "Failed to read textual boolean value: No match");
5414
856
    }
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5401
156
    {
5402
156
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
156
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
156
        return unexpected_scan_error(
5412
156
            scan_error::invalid_scanned_value,
5413
156
            "Failed to read textual boolean value: No match");
5414
156
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5415
5416
    unsigned m_options{allow_text | allow_numeric};
5417
};
5418
5419
template <typename CharT>
5420
struct bool_reader : public bool_reader_base {
5421
    using bool_reader_base::bool_reader_base;
5422
5423
#if !SCN_DISABLE_LOCALE
5424
    template <typename Range>
5425
    auto read_localized(Range range, detail::locale_ref loc, bool& value) const
5426
        -> scan_expected<ranges::const_iterator_t<Range>>
5427
54
    {
5428
54
        scan_error err{scan_error::invalid_scanned_value,
5429
54
                       "Failed to read boolean"};
5430
5431
54
        if (m_options & allow_numeric) {
5432
46
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
46
            else {
5436
46
                err = r.error();
5437
46
            }
5438
46
        }
5439
5440
54
        if (m_options & allow_text) {
5441
32
            auto stdloc = loc.get<std::locale>();
5442
32
            const auto& numpunct =
5443
32
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
32
            const auto truename = numpunct.truename();
5445
32
            const auto falsename = numpunct.falsename();
5446
5447
32
            if (auto r =
5448
32
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
32
            else {
5452
32
                err = r.error();
5453
32
            }
5454
32
        }
5455
5456
54
        return unexpected(err);
5457
54
    }
_ZNK3scn2v34impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5427
12
    {
5428
12
        scan_error err{scan_error::invalid_scanned_value,
5429
12
                       "Failed to read boolean"};
5430
5431
12
        if (m_options & allow_numeric) {
5432
10
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
10
            else {
5436
10
                err = r.error();
5437
10
            }
5438
10
        }
5439
5440
12
        if (m_options & allow_text) {
5441
10
            auto stdloc = loc.get<std::locale>();
5442
10
            const auto& numpunct =
5443
10
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
10
            const auto truename = numpunct.truename();
5445
10
            const auto falsename = numpunct.falsename();
5446
5447
10
            if (auto r =
5448
10
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
10
            else {
5452
10
                err = r.error();
5453
10
            }
5454
10
        }
5455
5456
12
        return unexpected(err);
5457
12
    }
_ZNK3scn2v34impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5427
18
    {
5428
18
        scan_error err{scan_error::invalid_scanned_value,
5429
18
                       "Failed to read boolean"};
5430
5431
18
        if (m_options & allow_numeric) {
5432
14
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
14
            else {
5436
14
                err = r.error();
5437
14
            }
5438
14
        }
5439
5440
18
        if (m_options & allow_text) {
5441
10
            auto stdloc = loc.get<std::locale>();
5442
10
            const auto& numpunct =
5443
10
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
10
            const auto truename = numpunct.truename();
5445
10
            const auto falsename = numpunct.falsename();
5446
5447
10
            if (auto r =
5448
10
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
10
            else {
5452
10
                err = r.error();
5453
10
            }
5454
10
        }
5455
5456
18
        return unexpected(err);
5457
18
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
_ZNK3scn2v34impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5427
6
    {
5428
6
        scan_error err{scan_error::invalid_scanned_value,
5429
6
                       "Failed to read boolean"};
5430
5431
6
        if (m_options & allow_numeric) {
5432
6
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
6
            else {
5436
6
                err = r.error();
5437
6
            }
5438
6
        }
5439
5440
6
        if (m_options & allow_text) {
5441
6
            auto stdloc = loc.get<std::locale>();
5442
6
            const auto& numpunct =
5443
6
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
6
            const auto truename = numpunct.truename();
5445
6
            const auto falsename = numpunct.falsename();
5446
5447
6
            if (auto r =
5448
6
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
6
            else {
5452
6
                err = r.error();
5453
6
            }
5454
6
        }
5455
5456
6
        return unexpected(err);
5457
6
    }
_ZNK3scn2v34impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5427
18
    {
5428
18
        scan_error err{scan_error::invalid_scanned_value,
5429
18
                       "Failed to read boolean"};
5430
5431
18
        if (m_options & allow_numeric) {
5432
16
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
16
            else {
5436
16
                err = r.error();
5437
16
            }
5438
16
        }
5439
5440
18
        if (m_options & allow_text) {
5441
6
            auto stdloc = loc.get<std::locale>();
5442
6
            const auto& numpunct =
5443
6
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
6
            const auto truename = numpunct.truename();
5445
6
            const auto falsename = numpunct.falsename();
5446
5447
6
            if (auto r =
5448
6
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
6
            else {
5452
6
                err = r.error();
5453
6
            }
5454
6
        }
5455
5456
18
        return unexpected(err);
5457
18
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
5458
#endif
5459
5460
protected:
5461
    template <typename Range>
5462
    auto read_textual_custom(Range range,
5463
                             bool& value,
5464
                             std::basic_string_view<CharT> truename,
5465
                             std::basic_string_view<CharT> falsename) const
5466
        -> scan_expected<ranges::const_iterator_t<Range>>
5467
32
    {
5468
32
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
32
        const auto shorter = std::pair{
5470
32
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
32
        const auto longer = std::pair{
5472
32
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
32
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
32
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
32
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
32
                                     "read_textual: No match");
5485
32
    }
_ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIcNSF_11char_traitsIcEEEESR_
Line
Count
Source
5467
10
    {
5468
10
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
10
        const auto shorter = std::pair{
5470
10
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
10
        const auto longer = std::pair{
5472
10
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
10
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
10
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
10
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
10
                                     "read_textual: No match");
5485
10
    }
_ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIcNSD_11char_traitsIcEEEESP_
Line
Count
Source
5467
10
    {
5468
10
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
10
        const auto shorter = std::pair{
5470
10
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
10
        const auto longer = std::pair{
5472
10
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
10
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
10
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
10
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
10
                                     "read_textual: No match");
5485
10
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIcNSI_11char_traitsIcEEEESU_
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIcNSG_11char_traitsIcEEEESS_
_ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIwNSF_11char_traitsIwEEEESR_
Line
Count
Source
5467
6
    {
5468
6
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
6
        const auto shorter = std::pair{
5470
6
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
6
        const auto longer = std::pair{
5472
6
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
6
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
6
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
6
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
6
                                     "read_textual: No match");
5485
6
    }
_ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIwNSD_11char_traitsIwEEEESP_
Line
Count
Source
5467
6
    {
5468
6
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
6
        const auto shorter = std::pair{
5470
6
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
6
        const auto longer = std::pair{
5472
6
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
6
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
6
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
6
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
6
                                     "read_textual: No match");
5485
6
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIwNSI_11char_traitsIwEEEESU_
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIwNSG_11char_traitsIwEEEESS_
5486
};
5487
5488
template <typename CharT>
5489
class reader_impl_for_bool
5490
    : public reader_base<reader_impl_for_bool<CharT>, CharT> {
5491
public:
5492
    reader_impl_for_bool() = default;
5493
5494
    void check_specs_impl(const detail::format_specs& specs,
5495
                          reader_error_handler& eh)
5496
7.07k
    {
5497
7.07k
        detail::check_bool_type_specs(specs, eh);
5498
7.07k
    }
scn::v3::impl::reader_impl_for_bool<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5496
5.14k
    {
5497
5.14k
        detail::check_bool_type_specs(specs, eh);
5498
5.14k
    }
scn::v3::impl::reader_impl_for_bool<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5496
1.93k
    {
5497
1.93k
        detail::check_bool_type_specs(specs, eh);
5498
1.93k
    }
5499
5500
    template <typename Range>
5501
    auto read_default(Range range, bool& value, detail::locale_ref loc) const
5502
        -> scan_expected<ranges::const_iterator_t<Range>>
5503
1.14k
    {
5504
1.14k
        SCN_UNUSED(loc);
5505
5506
1.14k
        return bool_reader<CharT>{}.read_classic(range, value);
5507
1.14k
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5503
646
    {
5504
646
        SCN_UNUSED(loc);
5505
5506
646
        return bool_reader<CharT>{}.read_classic(range, value);
5507
646
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
_ZNK3scn2v34impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5503
496
    {
5504
496
        SCN_UNUSED(loc);
5505
5506
496
        return bool_reader<CharT>{}.read_classic(range, value);
5507
496
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
5508
5509
    template <typename Range>
5510
    auto read_specs(Range range,
5511
                    const detail::format_specs& specs,
5512
                    bool& value,
5513
                    detail::locale_ref loc) const
5514
        -> scan_expected<ranges::const_iterator_t<Range>>
5515
1.25k
    {
5516
1.25k
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
1.25k
#if !SCN_DISABLE_LOCALE
5519
1.25k
        if (specs.localized) {
5520
54
            return rd.read_localized(range, loc, value);
5521
54
        }
5522
1.20k
#endif
5523
5524
1.20k
        return rd.read_classic(range, value);
5525
1.25k
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5515
338
    {
5516
338
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
338
#if !SCN_DISABLE_LOCALE
5519
338
        if (specs.localized) {
5520
12
            return rd.read_localized(range, loc, value);
5521
12
        }
5522
326
#endif
5523
5524
326
        return rd.read_classic(range, value);
5525
338
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5515
350
    {
5516
350
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
350
#if !SCN_DISABLE_LOCALE
5519
350
        if (specs.localized) {
5520
18
            return rd.read_localized(range, loc, value);
5521
18
        }
5522
332
#endif
5523
5524
332
        return rd.read_classic(range, value);
5525
350
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
_ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5515
176
    {
5516
176
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
176
#if !SCN_DISABLE_LOCALE
5519
176
        if (specs.localized) {
5520
6
            return rd.read_localized(range, loc, value);
5521
6
        }
5522
170
#endif
5523
5524
170
        return rd.read_classic(range, value);
5525
176
    }
_ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5515
392
    {
5516
392
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
392
#if !SCN_DISABLE_LOCALE
5519
392
        if (specs.localized) {
5520
18
            return rd.read_localized(range, loc, value);
5521
18
        }
5522
374
#endif
5523
5524
374
        return rd.read_classic(range, value);
5525
392
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
5526
5527
    static constexpr unsigned get_options(const detail::format_specs& specs)
5528
1.25k
    {
5529
1.25k
        SCN_GCC_COMPAT_PUSH
5530
1.25k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
1.25k
        switch (specs.type) {
5533
276
            case detail::presentation_type::string:
5534
276
                return bool_reader_base::allow_text;
5535
5536
18
            case detail::presentation_type::int_generic:
5537
34
            case detail::presentation_type::int_binary:
5538
44
            case detail::presentation_type::int_decimal:
5539
60
            case detail::presentation_type::int_hex:
5540
78
            case detail::presentation_type::int_octal:
5541
90
            case detail::presentation_type::int_unsigned_decimal:
5542
90
                return bool_reader_base::allow_numeric;
5543
5544
890
            default:
5545
890
                return bool_reader_base::allow_text |
5546
890
                       bool_reader_base::allow_numeric;
5547
1.25k
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
1.25k
    }
scn::v3::impl::reader_impl_for_bool<char>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
5528
688
    {
5529
688
        SCN_GCC_COMPAT_PUSH
5530
688
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
688
        switch (specs.type) {
5533
178
            case detail::presentation_type::string:
5534
178
                return bool_reader_base::allow_text;
5535
5536
10
            case detail::presentation_type::int_generic:
5537
20
            case detail::presentation_type::int_binary:
5538
24
            case detail::presentation_type::int_decimal:
5539
34
            case detail::presentation_type::int_hex:
5540
46
            case detail::presentation_type::int_octal:
5541
50
            case detail::presentation_type::int_unsigned_decimal:
5542
50
                return bool_reader_base::allow_numeric;
5543
5544
460
            default:
5545
460
                return bool_reader_base::allow_text |
5546
460
                       bool_reader_base::allow_numeric;
5547
688
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
688
    }
scn::v3::impl::reader_impl_for_bool<wchar_t>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
5528
568
    {
5529
568
        SCN_GCC_COMPAT_PUSH
5530
568
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
568
        switch (specs.type) {
5533
98
            case detail::presentation_type::string:
5534
98
                return bool_reader_base::allow_text;
5535
5536
8
            case detail::presentation_type::int_generic:
5537
14
            case detail::presentation_type::int_binary:
5538
20
            case detail::presentation_type::int_decimal:
5539
26
            case detail::presentation_type::int_hex:
5540
32
            case detail::presentation_type::int_octal:
5541
40
            case detail::presentation_type::int_unsigned_decimal:
5542
40
                return bool_reader_base::allow_numeric;
5543
5544
430
            default:
5545
430
                return bool_reader_base::allow_text |
5546
430
                       bool_reader_base::allow_numeric;
5547
568
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
568
    }
5551
};
5552
5553
/////////////////////////////////////////////////////////////////
5554
// Character (code unit, code point) reader
5555
/////////////////////////////////////////////////////////////////
5556
5557
template <typename CharT>
5558
class code_unit_reader {
5559
public:
5560
    template <typename SourceRange>
5561
    auto read(const SourceRange& range, CharT& ch)
5562
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5563
2.01k
    {
5564
2.01k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
2.01k
        ch = *range.begin();
5566
2.01k
        return it;
5567
2.01k
    }
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rc
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rc
_ZN3scn2v34impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rc
Line
Count
Source
5563
250
    {
5564
250
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
250
        ch = *range.begin();
5566
250
        return it;
5567
250
    }
_ZN3scn2v34impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rc
Line
Count
Source
5563
850
    {
5564
850
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
850
        ch = *range.begin();
5566
850
        return it;
5567
850
    }
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
_ZN3scn2v34impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Line
Count
Source
5563
102
    {
5564
102
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
102
        ch = *range.begin();
5566
102
        return it;
5567
102
    }
_ZN3scn2v34impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Line
Count
Source
5563
814
    {
5564
814
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
814
        ch = *range.begin();
5566
814
        return it;
5567
814
    }
5568
};
5569
5570
template <typename CharT>
5571
class code_point_reader;
5572
5573
template <>
5574
class code_point_reader<char32_t> {
5575
public:
5576
    template <typename SourceRange>
5577
    auto read(const SourceRange& range, char32_t& cp)
5578
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5579
0
    {
5580
0
        auto result = read_code_point_into(range);
5581
0
        if (SCN_UNLIKELY(!result.is_valid())) {
5582
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
5583
0
                                         "Invalid code point");
5584
0
        }
5585
0
        cp = detail::decode_code_point_exhaustive_valid(
5586
0
            std::basic_string_view<detail::char_t<SourceRange>>{
5587
0
                result.codepoint});
5588
0
        return result.iterator;
5589
0
    }
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
5590
};
5591
5592
template <>
5593
class code_point_reader<wchar_t> {
5594
public:
5595
    template <typename SourceRange>
5596
    auto read(const SourceRange& range, wchar_t& ch)
5597
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5598
0
    {
5599
0
        code_point_reader<char32_t> reader{};
5600
0
        char32_t cp{};
5601
0
        auto ret = reader.read(range, cp);
5602
0
        if (SCN_UNLIKELY(!ret)) {
5603
0
            return unexpected(ret.error());
5604
0
        }
5605
5606
0
        SCN_TRY(encoded_ch, encode_code_point_as_wide_character(cp, true));
5607
0
        ch = encoded_ch;
5608
0
        return *ret;
5609
0
    }
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
5610
};
5611
5612
template <typename ValueCharT>
5613
class char_reader_base {
5614
public:
5615
    constexpr char_reader_base() = default;
5616
5617
    bool skip_ws_before_read() const
5618
2.97k
    {
5619
2.97k
        return false;
5620
2.97k
    }
scn::v3::impl::char_reader_base<char>::skip_ws_before_read() const
Line
Count
Source
5618
1.61k
    {
5619
1.61k
        return false;
5620
1.61k
    }
scn::v3::impl::char_reader_base<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5618
1.36k
    {
5619
1.36k
        return false;
5620
1.36k
    }
Unexecuted instantiation: scn::v3::impl::char_reader_base<char32_t>::skip_ws_before_read() const
5621
5622
    static scan_error check_specs(const detail::format_specs& specs)
5623
7.01k
    {
5624
7.01k
        reader_error_handler eh{};
5625
7.01k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
7.01k
            detail::check_code_point_type_specs(specs, eh);
5627
7.01k
        }
5628
7.01k
        else {
5629
7.01k
            detail::check_char_type_specs(specs, eh);
5630
7.01k
        }
5631
7.01k
        if (SCN_UNLIKELY(!eh)) {
5632
6.05k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
6.05k
        }
5634
960
        return {};
5635
7.01k
    }
scn::v3::impl::char_reader_base<char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5623
5.10k
    {
5624
5.10k
        reader_error_handler eh{};
5625
5.10k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
5.10k
            detail::check_code_point_type_specs(specs, eh);
5627
5.10k
        }
5628
5.10k
        else {
5629
5.10k
            detail::check_char_type_specs(specs, eh);
5630
5.10k
        }
5631
5.10k
        if (SCN_UNLIKELY(!eh)) {
5632
4.59k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
4.59k
        }
5634
510
        return {};
5635
5.10k
    }
scn::v3::impl::char_reader_base<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5623
1.90k
    {
5624
1.90k
        reader_error_handler eh{};
5625
1.90k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
1.90k
            detail::check_code_point_type_specs(specs, eh);
5627
1.90k
        }
5628
1.90k
        else {
5629
1.90k
            detail::check_char_type_specs(specs, eh);
5630
1.90k
        }
5631
1.90k
        if (SCN_UNLIKELY(!eh)) {
5632
1.45k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
1.45k
        }
5634
450
        return {};
5635
1.90k
    }
Unexecuted instantiation: scn::v3::impl::char_reader_base<char32_t>::check_specs(scn::v3::detail::format_specs const&)
5636
};
5637
5638
template <typename CharT>
5639
class reader_impl_for_char : public char_reader_base<char> {
5640
public:
5641
    template <typename Range>
5642
    auto read_default(Range range, char& value, detail::locale_ref loc)
5643
        -> scan_expected<ranges::const_iterator_t<Range>>
5644
1.10k
    {
5645
1.10k
        SCN_UNUSED(loc);
5646
1.10k
        if constexpr (std::is_same_v<CharT, char>) {
5647
0
            return code_unit_reader<char>{}.read(range, value);
5648
0
        }
5649
0
        else {
5650
0
            SCN_UNUSED(range);
5651
0
            SCN_EXPECT(false);
5652
0
            SCN_UNREACHABLE;
5653
0
        }
5654
1.10k
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
_ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Line
Count
Source
5644
250
    {
5645
250
        SCN_UNUSED(loc);
5646
250
        if constexpr (std::is_same_v<CharT, char>) {
5647
250
            return code_unit_reader<char>{}.read(range, value);
5648
250
        }
5649
250
        else {
5650
250
            SCN_UNUSED(range);
5651
250
            SCN_EXPECT(false);
5652
250
            SCN_UNREACHABLE;
5653
250
        }
5654
250
    }
_ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Line
Count
Source
5644
850
    {
5645
850
        SCN_UNUSED(loc);
5646
850
        if constexpr (std::is_same_v<CharT, char>) {
5647
850
            return code_unit_reader<char>{}.read(range, value);
5648
850
        }
5649
850
        else {
5650
850
            SCN_UNUSED(range);
5651
850
            SCN_EXPECT(false);
5652
850
            SCN_UNREACHABLE;
5653
850
        }
5654
850
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
5655
5656
    template <typename Range>
5657
    auto read_specs(Range range,
5658
                    const detail::format_specs& specs,
5659
                    char& value,
5660
                    detail::locale_ref loc)
5661
        -> scan_expected<ranges::const_iterator_t<Range>>
5662
502
    {
5663
502
        if (specs.type == detail::presentation_type::none ||
5664
502
            specs.type == detail::presentation_type::character) {
5665
454
            return read_default(range, value, loc);
5666
454
        }
5667
5668
48
        reader_impl_for_int<CharT> reader{};
5669
48
        signed char tmp_value{};
5670
48
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
48
        value = static_cast<signed char>(value);
5672
48
        return ret;
5673
502
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
_ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Line
Count
Source
5662
280
    {
5663
280
        if (specs.type == detail::presentation_type::none ||
5664
280
            specs.type == detail::presentation_type::character) {
5665
250
            return read_default(range, value, loc);
5666
250
        }
5667
5668
30
        reader_impl_for_int<CharT> reader{};
5669
30
        signed char tmp_value{};
5670
30
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
30
        value = static_cast<signed char>(value);
5672
30
        return ret;
5673
280
    }
_ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Line
Count
Source
5662
222
    {
5663
222
        if (specs.type == detail::presentation_type::none ||
5664
222
            specs.type == detail::presentation_type::character) {
5665
204
            return read_default(range, value, loc);
5666
204
        }
5667
5668
18
        reader_impl_for_int<CharT> reader{};
5669
18
        signed char tmp_value{};
5670
18
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
18
        value = static_cast<signed char>(value);
5672
18
        return ret;
5673
222
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
5674
};
5675
5676
template <typename CharT>
5677
class reader_impl_for_wchar : public char_reader_base<wchar_t> {
5678
public:
5679
    template <typename Range>
5680
    auto read_default(Range range, wchar_t& value, detail::locale_ref loc)
5681
        -> scan_expected<ranges::const_iterator_t<Range>>
5682
916
    {
5683
916
        SCN_UNUSED(loc);
5684
916
        if constexpr (std::is_same_v<CharT, char>) {
5685
916
            return code_point_reader<wchar_t>{}.read(range, value);
5686
916
        }
5687
916
        else {
5688
916
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
916
        }
5690
916
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
_ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Line
Count
Source
5682
102
    {
5683
102
        SCN_UNUSED(loc);
5684
102
        if constexpr (std::is_same_v<CharT, char>) {
5685
102
            return code_point_reader<wchar_t>{}.read(range, value);
5686
102
        }
5687
102
        else {
5688
102
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
102
        }
5690
102
    }
_ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Line
Count
Source
5682
814
    {
5683
814
        SCN_UNUSED(loc);
5684
814
        if constexpr (std::is_same_v<CharT, char>) {
5685
814
            return code_point_reader<wchar_t>{}.read(range, value);
5686
814
        }
5687
814
        else {
5688
814
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
814
        }
5690
814
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
5691
5692
    template <typename Range>
5693
    auto read_specs(Range range,
5694
                    const detail::format_specs& specs,
5695
                    wchar_t& value,
5696
                    detail::locale_ref loc)
5697
        -> scan_expected<ranges::const_iterator_t<Range>>
5698
448
    {
5699
448
        if (specs.type == detail::presentation_type::none ||
5700
448
            specs.type == detail::presentation_type::character) {
5701
420
            return read_default(range, value, loc);
5702
420
        }
5703
5704
28
        reader_impl_for_int<CharT> reader{};
5705
28
        using integer_type =
5706
28
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
28
        integer_type tmp_value{};
5708
28
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
28
        value = static_cast<integer_type>(value);
5710
28
        return ret;
5711
448
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
_ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Line
Count
Source
5698
116
    {
5699
116
        if (specs.type == detail::presentation_type::none ||
5700
116
            specs.type == detail::presentation_type::character) {
5701
102
            return read_default(range, value, loc);
5702
102
        }
5703
5704
14
        reader_impl_for_int<CharT> reader{};
5705
14
        using integer_type =
5706
14
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
14
        integer_type tmp_value{};
5708
14
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
14
        value = static_cast<integer_type>(value);
5710
14
        return ret;
5711
116
    }
_ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Line
Count
Source
5698
332
    {
5699
332
        if (specs.type == detail::presentation_type::none ||
5700
332
            specs.type == detail::presentation_type::character) {
5701
318
            return read_default(range, value, loc);
5702
318
        }
5703
5704
14
        reader_impl_for_int<CharT> reader{};
5705
14
        using integer_type =
5706
14
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
14
        integer_type tmp_value{};
5708
14
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
14
        value = static_cast<integer_type>(value);
5710
14
        return ret;
5711
332
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
5712
};
5713
5714
template <typename CharT>
5715
class reader_impl_for_code_point : public char_reader_base<char32_t> {
5716
public:
5717
    template <typename Range>
5718
    auto read_default(Range range, char32_t& value, detail::locale_ref loc)
5719
        -> scan_expected<ranges::const_iterator_t<Range>>
5720
0
    {
5721
0
        SCN_UNUSED(loc);
5722
0
        return code_point_reader<char32_t>{}.read(range, value);
5723
0
    }
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
5724
5725
    template <typename Range>
5726
    auto read_specs(Range range,
5727
                    const detail::format_specs& specs,
5728
                    char32_t& value,
5729
                    detail::locale_ref loc)
5730
        -> scan_expected<ranges::const_iterator_t<Range>>
5731
0
    {
5732
0
        SCN_UNUSED(specs);
5733
0
        return read_default(range, value, loc);
5734
0
    }
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
5735
};
5736
5737
/////////////////////////////////////////////////////////////////
5738
// Pointer reader
5739
/////////////////////////////////////////////////////////////////
5740
5741
template <typename CharT>
5742
class reader_impl_for_voidptr {
5743
public:
5744
    constexpr reader_impl_for_voidptr() = default;
5745
5746
    bool skip_ws_before_read() const
5747
2.03k
    {
5748
2.03k
        return true;
5749
2.03k
    }
scn::v3::impl::reader_impl_for_voidptr<char>::skip_ws_before_read() const
Line
Count
Source
5747
1.11k
    {
5748
1.11k
        return true;
5749
1.11k
    }
scn::v3::impl::reader_impl_for_voidptr<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5747
924
    {
5748
924
        return true;
5749
924
    }
5750
5751
    static scan_error check_specs(const detail::format_specs& specs)
5752
7.01k
    {
5753
7.01k
        reader_error_handler eh{};
5754
7.01k
        detail::check_pointer_type_specs(specs, eh);
5755
7.01k
        if (SCN_UNLIKELY(!eh)) {
5756
6.12k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
6.12k
        }
5758
894
        return {};
5759
7.01k
    }
scn::v3::impl::reader_impl_for_voidptr<char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5752
5.10k
    {
5753
5.10k
        reader_error_handler eh{};
5754
5.10k
        detail::check_pointer_type_specs(specs, eh);
5755
5.10k
        if (SCN_UNLIKELY(!eh)) {
5756
4.64k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
4.64k
        }
5758
466
        return {};
5759
5.10k
    }
scn::v3::impl::reader_impl_for_voidptr<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5752
1.90k
    {
5753
1.90k
        reader_error_handler eh{};
5754
1.90k
        detail::check_pointer_type_specs(specs, eh);
5755
1.90k
        if (SCN_UNLIKELY(!eh)) {
5756
1.48k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
1.48k
        }
5758
428
        return {};
5759
1.90k
    }
5760
5761
    template <typename Range>
5762
    auto read_default(Range range, void*& value, detail::locale_ref loc)
5763
        -> scan_expected<ranges::const_iterator_t<Range>>
5764
2.02k
    {
5765
2.02k
        detail::format_specs specs{};
5766
2.02k
        specs.type = detail::presentation_type::int_hex;
5767
5768
2.02k
        std::uintptr_t intvalue{};
5769
2.02k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
2.02k
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
854
    {
5765
854
        detail::format_specs specs{};
5766
854
        specs.type = detail::presentation_type::int_hex;
5767
5768
854
        std::uintptr_t intvalue{};
5769
854
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
854
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
244
    {
5765
244
        detail::format_specs specs{};
5766
244
        specs.type = detail::presentation_type::int_hex;
5767
5768
244
        std::uintptr_t intvalue{};
5769
244
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
244
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
816
    {
5765
816
        detail::format_specs specs{};
5766
816
        specs.type = detail::presentation_type::int_hex;
5767
5768
816
        std::uintptr_t intvalue{};
5769
816
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
816
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
106
    {
5765
106
        detail::format_specs specs{};
5766
106
        specs.type = detail::presentation_type::int_hex;
5767
5768
106
        std::uintptr_t intvalue{};
5769
106
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
106
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
5774
5775
    template <typename Range>
5776
    auto read_specs(Range range,
5777
                    const detail::format_specs& specs,
5778
                    void*& value,
5779
                    detail::locale_ref loc)
5780
        -> scan_expected<ranges::const_iterator_t<Range>>
5781
878
    {
5782
878
        SCN_UNUSED(specs);
5783
878
        return read_default(range, value, loc);
5784
878
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5781
244
    {
5782
244
        SCN_UNUSED(specs);
5783
244
        return read_default(range, value, loc);
5784
244
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5781
208
    {
5782
208
        SCN_UNUSED(specs);
5783
208
        return read_default(range, value, loc);
5784
208
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5781
106
    {
5782
106
        SCN_UNUSED(specs);
5783
106
        return read_default(range, value, loc);
5784
106
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5781
320
    {
5782
320
        SCN_UNUSED(specs);
5783
320
        return read_default(range, value, loc);
5784
320
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
5785
};
5786
5787
/////////////////////////////////////////////////////////////////
5788
// Argument readers
5789
/////////////////////////////////////////////////////////////////
5790
5791
template <typename Range>
5792
auto skip_ws_before_if_required(bool is_required, Range range)
5793
    -> eof_expected<ranges::iterator_t<Range>>
5794
48.0M
{
5795
48.0M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
27.3k
        return unexpected(e);
5797
27.3k
    }
5798
5799
48.0M
    if (!is_required) {
5800
1.14k
        return range.begin();
5801
1.14k
    }
5802
5803
48.0M
    return skip_classic_whitespace(range);
5804
48.0M
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5794
1.48M
{
5795
1.48M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
11.2k
        return unexpected(e);
5797
11.2k
    }
5798
5799
1.47M
    if (!is_required) {
5800
646
        return range.begin();
5801
646
    }
5802
5803
1.47M
    return skip_classic_whitespace(range);
5804
1.47M
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Line
Count
Source
5794
1.33M
{
5795
1.33M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
10.7k
        return unexpected(e);
5797
10.7k
    }
5798
5799
1.32M
    if (!is_required) {
5800
0
        return range.begin();
5801
0
    }
5802
5803
1.32M
    return skip_classic_whitespace(range);
5804
1.32M
}
Unexecuted instantiation: _ZN3scn2v34impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5794
30.0M
{
5795
30.0M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
3.40k
        return unexpected(e);
5797
3.40k
    }
5798
5799
30.0M
    if (!is_required) {
5800
496
        return range.begin();
5801
496
    }
5802
5803
30.0M
    return skip_classic_whitespace(range);
5804
30.0M
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Line
Count
Source
5794
15.1M
{
5795
15.1M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
1.90k
        return unexpected(e);
5797
1.90k
    }
5798
5799
15.1M
    if (!is_required) {
5800
0
        return range.begin();
5801
0
    }
5802
5803
15.1M
    return skip_classic_whitespace(range);
5804
15.1M
}
Unexecuted instantiation: _ZN3scn2v34impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
5805
5806
template <typename T, typename CharT>
5807
constexpr auto make_reader()
5808
75.3M
{
5809
75.3M
    if constexpr (std::is_same_v<T, bool>) {
5810
75.3M
        return reader_impl_for_bool<CharT>{};
5811
75.3M
    }
5812
75.3M
    else if constexpr (std::is_same_v<T, char>) {
5813
75.3M
        return reader_impl_for_char<CharT>{};
5814
75.3M
    }
5815
75.3M
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
75.3M
        return reader_impl_for_wchar<CharT>{};
5817
75.3M
    }
5818
75.3M
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
75.3M
        return reader_impl_for_code_point<CharT>{};
5820
75.3M
    }
5821
75.3M
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
75.3M
                       std::is_same_v<T, std::wstring_view>) {
5823
50.2M
        return reader_impl_for_string<CharT>{};
5824
50.2M
    }
5825
50.2M
    else if constexpr (std::is_same_v<T, std::string> ||
5826
50.2M
                       std::is_same_v<T, std::wstring>) {
5827
50.2M
        return reader_impl_for_string<CharT>{};
5828
50.2M
    }
5829
75.3M
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
75.3M
                       std::is_same_v<T, wregex_matches>) {
5831
75.3M
        return reader_impl_for_regex_matches<CharT>{};
5832
75.3M
    }
5833
75.3M
    else if constexpr (std::is_same_v<T, void*>) {
5834
75.3M
        return reader_impl_for_voidptr<CharT>{};
5835
75.3M
    }
5836
75.3M
    else if constexpr (std::is_floating_point_v<T>) {
5837
75.3M
        return reader_impl_for_float<CharT>{};
5838
75.3M
    }
5839
75.3M
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
75.3M
                       !std::is_same_v<T, wchar_t> &&
5841
75.3M
                       !std::is_same_v<T, char32_t> &&
5842
75.3M
                       !std::is_same_v<T, bool>) {
5843
75.3M
        return reader_impl_for_int<CharT>{};
5844
75.3M
    }
5845
75.3M
    else {
5846
75.3M
        return reader_impl_for_monostate<CharT>{};
5847
75.3M
    }
5848
75.3M
}
auto scn::v3::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>()
Line
Count
Source
5808
352k
{
5809
352k
    if constexpr (std::is_same_v<T, bool>) {
5810
352k
        return reader_impl_for_bool<CharT>{};
5811
352k
    }
5812
352k
    else if constexpr (std::is_same_v<T, char>) {
5813
352k
        return reader_impl_for_char<CharT>{};
5814
352k
    }
5815
352k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
352k
        return reader_impl_for_wchar<CharT>{};
5817
352k
    }
5818
352k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
352k
        return reader_impl_for_code_point<CharT>{};
5820
352k
    }
5821
352k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
352k
                       std::is_same_v<T, std::wstring_view>) {
5823
352k
        return reader_impl_for_string<CharT>{};
5824
352k
    }
5825
352k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
352k
                       std::is_same_v<T, std::wstring>) {
5827
352k
        return reader_impl_for_string<CharT>{};
5828
352k
    }
5829
352k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
352k
                       std::is_same_v<T, wregex_matches>) {
5831
352k
        return reader_impl_for_regex_matches<CharT>{};
5832
352k
    }
5833
352k
    else if constexpr (std::is_same_v<T, void*>) {
5834
352k
        return reader_impl_for_voidptr<CharT>{};
5835
352k
    }
5836
352k
    else if constexpr (std::is_floating_point_v<T>) {
5837
352k
        return reader_impl_for_float<CharT>{};
5838
352k
    }
5839
352k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
352k
                       !std::is_same_v<T, wchar_t> &&
5841
352k
                       !std::is_same_v<T, char32_t> &&
5842
352k
                       !std::is_same_v<T, bool>) {
5843
352k
        return reader_impl_for_int<CharT>{};
5844
352k
    }
5845
352k
    else {
5846
352k
        return reader_impl_for_monostate<CharT>{};
5847
352k
    }
5848
352k
}
auto scn::v3::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, char>()
Line
Count
Source
5808
5.75k
{
5809
5.75k
    if constexpr (std::is_same_v<T, bool>) {
5810
5.75k
        return reader_impl_for_bool<CharT>{};
5811
5.75k
    }
5812
5.75k
    else if constexpr (std::is_same_v<T, char>) {
5813
5.75k
        return reader_impl_for_char<CharT>{};
5814
5.75k
    }
5815
5.75k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
5.75k
        return reader_impl_for_wchar<CharT>{};
5817
5.75k
    }
5818
5.75k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
5.75k
        return reader_impl_for_code_point<CharT>{};
5820
5.75k
    }
5821
5.75k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
5.75k
                       std::is_same_v<T, std::wstring_view>) {
5823
5.75k
        return reader_impl_for_string<CharT>{};
5824
5.75k
    }
5825
5.75k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
5.75k
                       std::is_same_v<T, std::wstring>) {
5827
5.75k
        return reader_impl_for_string<CharT>{};
5828
5.75k
    }
5829
5.75k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
5.75k
                       std::is_same_v<T, wregex_matches>) {
5831
5.75k
        return reader_impl_for_regex_matches<CharT>{};
5832
5.75k
    }
5833
5.75k
    else if constexpr (std::is_same_v<T, void*>) {
5834
5.75k
        return reader_impl_for_voidptr<CharT>{};
5835
5.75k
    }
5836
5.75k
    else if constexpr (std::is_floating_point_v<T>) {
5837
5.75k
        return reader_impl_for_float<CharT>{};
5838
5.75k
    }
5839
5.75k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
5.75k
                       !std::is_same_v<T, wchar_t> &&
5841
5.75k
                       !std::is_same_v<T, char32_t> &&
5842
5.75k
                       !std::is_same_v<T, bool>) {
5843
5.75k
        return reader_impl_for_int<CharT>{};
5844
5.75k
    }
5845
5.75k
    else {
5846
5.75k
        return reader_impl_for_monostate<CharT>{};
5847
5.75k
    }
5848
5.75k
}
auto scn::v3::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>()
Line
Count
Source
5808
177k
{
5809
177k
    if constexpr (std::is_same_v<T, bool>) {
5810
177k
        return reader_impl_for_bool<CharT>{};
5811
177k
    }
5812
177k
    else if constexpr (std::is_same_v<T, char>) {
5813
177k
        return reader_impl_for_char<CharT>{};
5814
177k
    }
5815
177k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
177k
        return reader_impl_for_wchar<CharT>{};
5817
177k
    }
5818
177k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
177k
        return reader_impl_for_code_point<CharT>{};
5820
177k
    }
5821
177k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
177k
                       std::is_same_v<T, std::wstring_view>) {
5823
177k
        return reader_impl_for_string<CharT>{};
5824
177k
    }
5825
177k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
177k
                       std::is_same_v<T, std::wstring>) {
5827
177k
        return reader_impl_for_string<CharT>{};
5828
177k
    }
5829
177k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
177k
                       std::is_same_v<T, wregex_matches>) {
5831
177k
        return reader_impl_for_regex_matches<CharT>{};
5832
177k
    }
5833
177k
    else if constexpr (std::is_same_v<T, void*>) {
5834
177k
        return reader_impl_for_voidptr<CharT>{};
5835
177k
    }
5836
177k
    else if constexpr (std::is_floating_point_v<T>) {
5837
177k
        return reader_impl_for_float<CharT>{};
5838
177k
    }
5839
177k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
177k
                       !std::is_same_v<T, wchar_t> &&
5841
177k
                       !std::is_same_v<T, char32_t> &&
5842
177k
                       !std::is_same_v<T, bool>) {
5843
177k
        return reader_impl_for_int<CharT>{};
5844
177k
    }
5845
177k
    else {
5846
177k
        return reader_impl_for_monostate<CharT>{};
5847
177k
    }
5848
177k
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, char>()
auto scn::v3::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t>()
Line
Count
Source
5808
2.40k
{
5809
2.40k
    if constexpr (std::is_same_v<T, bool>) {
5810
2.40k
        return reader_impl_for_bool<CharT>{};
5811
2.40k
    }
5812
2.40k
    else if constexpr (std::is_same_v<T, char>) {
5813
2.40k
        return reader_impl_for_char<CharT>{};
5814
2.40k
    }
5815
2.40k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
2.40k
        return reader_impl_for_wchar<CharT>{};
5817
2.40k
    }
5818
2.40k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
2.40k
        return reader_impl_for_code_point<CharT>{};
5820
2.40k
    }
5821
2.40k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
2.40k
                       std::is_same_v<T, std::wstring_view>) {
5823
2.40k
        return reader_impl_for_string<CharT>{};
5824
2.40k
    }
5825
2.40k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
2.40k
                       std::is_same_v<T, std::wstring>) {
5827
2.40k
        return reader_impl_for_string<CharT>{};
5828
2.40k
    }
5829
2.40k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
2.40k
                       std::is_same_v<T, wregex_matches>) {
5831
2.40k
        return reader_impl_for_regex_matches<CharT>{};
5832
2.40k
    }
5833
2.40k
    else if constexpr (std::is_same_v<T, void*>) {
5834
2.40k
        return reader_impl_for_voidptr<CharT>{};
5835
2.40k
    }
5836
2.40k
    else if constexpr (std::is_floating_point_v<T>) {
5837
2.40k
        return reader_impl_for_float<CharT>{};
5838
2.40k
    }
5839
2.40k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
2.40k
                       !std::is_same_v<T, wchar_t> &&
5841
2.40k
                       !std::is_same_v<T, char32_t> &&
5842
2.40k
                       !std::is_same_v<T, bool>) {
5843
2.40k
        return reader_impl_for_int<CharT>{};
5844
2.40k
    }
5845
2.40k
    else {
5846
2.40k
        return reader_impl_for_monostate<CharT>{};
5847
2.40k
    }
5848
2.40k
}
auto scn::v3::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, wchar_t>()
Line
Count
Source
5808
49.8M
{
5809
49.8M
    if constexpr (std::is_same_v<T, bool>) {
5810
49.8M
        return reader_impl_for_bool<CharT>{};
5811
49.8M
    }
5812
49.8M
    else if constexpr (std::is_same_v<T, char>) {
5813
49.8M
        return reader_impl_for_char<CharT>{};
5814
49.8M
    }
5815
49.8M
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
49.8M
        return reader_impl_for_wchar<CharT>{};
5817
49.8M
    }
5818
49.8M
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
49.8M
        return reader_impl_for_code_point<CharT>{};
5820
49.8M
    }
5821
49.8M
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
49.8M
                       std::is_same_v<T, std::wstring_view>) {
5823
49.8M
        return reader_impl_for_string<CharT>{};
5824
49.8M
    }
5825
49.8M
    else if constexpr (std::is_same_v<T, std::string> ||
5826
49.8M
                       std::is_same_v<T, std::wstring>) {
5827
49.8M
        return reader_impl_for_string<CharT>{};
5828
49.8M
    }
5829
49.8M
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
49.8M
                       std::is_same_v<T, wregex_matches>) {
5831
49.8M
        return reader_impl_for_regex_matches<CharT>{};
5832
49.8M
    }
5833
49.8M
    else if constexpr (std::is_same_v<T, void*>) {
5834
49.8M
        return reader_impl_for_voidptr<CharT>{};
5835
49.8M
    }
5836
49.8M
    else if constexpr (std::is_floating_point_v<T>) {
5837
49.8M
        return reader_impl_for_float<CharT>{};
5838
49.8M
    }
5839
49.8M
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
49.8M
                       !std::is_same_v<T, wchar_t> &&
5841
49.8M
                       !std::is_same_v<T, char32_t> &&
5842
49.8M
                       !std::is_same_v<T, bool>) {
5843
49.8M
        return reader_impl_for_int<CharT>{};
5844
49.8M
    }
5845
49.8M
    else {
5846
49.8M
        return reader_impl_for_monostate<CharT>{};
5847
49.8M
    }
5848
49.8M
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t>()
auto scn::v3::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>()
Line
Count
Source
5808
24.9M
{
5809
24.9M
    if constexpr (std::is_same_v<T, bool>) {
5810
24.9M
        return reader_impl_for_bool<CharT>{};
5811
24.9M
    }
5812
24.9M
    else if constexpr (std::is_same_v<T, char>) {
5813
24.9M
        return reader_impl_for_char<CharT>{};
5814
24.9M
    }
5815
24.9M
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
24.9M
        return reader_impl_for_wchar<CharT>{};
5817
24.9M
    }
5818
24.9M
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
24.9M
        return reader_impl_for_code_point<CharT>{};
5820
24.9M
    }
5821
24.9M
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
24.9M
                       std::is_same_v<T, std::wstring_view>) {
5823
24.9M
        return reader_impl_for_string<CharT>{};
5824
24.9M
    }
5825
24.9M
    else if constexpr (std::is_same_v<T, std::string> ||
5826
24.9M
                       std::is_same_v<T, std::wstring>) {
5827
24.9M
        return reader_impl_for_string<CharT>{};
5828
24.9M
    }
5829
24.9M
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
24.9M
                       std::is_same_v<T, wregex_matches>) {
5831
24.9M
        return reader_impl_for_regex_matches<CharT>{};
5832
24.9M
    }
5833
24.9M
    else if constexpr (std::is_same_v<T, void*>) {
5834
24.9M
        return reader_impl_for_voidptr<CharT>{};
5835
24.9M
    }
5836
24.9M
    else if constexpr (std::is_floating_point_v<T>) {
5837
24.9M
        return reader_impl_for_float<CharT>{};
5838
24.9M
    }
5839
24.9M
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
24.9M
                       !std::is_same_v<T, wchar_t> &&
5841
24.9M
                       !std::is_same_v<T, char32_t> &&
5842
24.9M
                       !std::is_same_v<T, bool>) {
5843
24.9M
        return reader_impl_for_int<CharT>{};
5844
24.9M
    }
5845
24.9M
    else {
5846
24.9M
        return reader_impl_for_monostate<CharT>{};
5847
24.9M
    }
5848
24.9M
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<signed char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<short, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<int, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned short, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned int, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<float, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<double, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long double, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<char>, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<wchar_t>, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<wchar_t, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<signed char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<short, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<int, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned short, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned int, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<float, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<double, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long double, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<char>, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<wchar_t>, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<void*, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<bool, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<wchar_t, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char32_t, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::monostate, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<void*, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<bool, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char32_t, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::monostate, wchar_t>()
5849
5850
template <typename Context>
5851
struct default_arg_reader {
5852
    using context_type = Context;
5853
    using char_type = typename context_type::char_type;
5854
    using args_type = typename context_type::args_type;
5855
5856
    using range_type = typename context_type::range_type;
5857
    using iterator = ranges::iterator_t<range_type>;
5858
5859
    template <typename Reader, typename Range, typename T>
5860
    auto impl(Reader& rd, Range rng, T& value)
5861
        -> scan_expected<ranges::iterator_t<Range>>
5862
48.0M
    {
5863
48.0M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
47.9M
                        .transform_error(make_eof_scan_error));
5865
47.9M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
48.0M
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
78.8k
    {
5863
78.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.0k
                        .transform_error(make_eof_scan_error));
5865
78.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
91.8k
    {
5863
91.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
90.7k
                        .transform_error(make_eof_scan_error));
5865
90.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
91.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
92.8k
    {
5863
92.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
91.6k
                        .transform_error(make_eof_scan_error));
5865
91.6k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
92.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
69.9k
    {
5863
69.9k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
69.4k
                        .transform_error(make_eof_scan_error));
5865
69.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
69.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
78.6k
    {
5863
78.6k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
77.9k
                        .transform_error(make_eof_scan_error));
5865
77.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
79.0k
    {
5863
79.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.2k
                        .transform_error(make_eof_scan_error));
5865
78.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
79.0k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
5862
646
    {
5863
646
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
646
                        .transform_error(make_eof_scan_error));
5865
646
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
646
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
646
    {
5863
646
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
646
                        .transform_error(make_eof_scan_error));
5865
646
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
646
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
646
    {
5863
646
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
646
                        .transform_error(make_eof_scan_error));
5865
646
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
646
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
243k
    {
5863
243k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
241k
                        .transform_error(make_eof_scan_error));
5865
241k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
243k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
269k
    {
5863
269k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
267k
                        .transform_error(make_eof_scan_error));
5865
267k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
269k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
273k
    {
5863
273k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
271k
                        .transform_error(make_eof_scan_error));
5865
271k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
273k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
5862
100k
    {
5863
100k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
99.3k
                        .transform_error(make_eof_scan_error));
5865
99.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
100k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
100k
    {
5863
100k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
99.3k
                        .transform_error(make_eof_scan_error));
5865
99.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
100k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
646
    {
5863
646
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
646
                        .transform_error(make_eof_scan_error));
5865
646
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
646
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
78.7k
    {
5863
78.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.0k
                        .transform_error(make_eof_scan_error));
5865
78.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
89.5k
    {
5863
89.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
88.4k
                        .transform_error(make_eof_scan_error));
5865
88.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
89.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
91.0k
    {
5863
91.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
89.9k
                        .transform_error(make_eof_scan_error));
5865
89.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
91.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
69.8k
    {
5863
69.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
69.3k
                        .transform_error(make_eof_scan_error));
5865
69.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
69.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
77.8k
    {
5863
77.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
77.1k
                        .transform_error(make_eof_scan_error));
5865
77.1k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
77.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
78.8k
    {
5863
78.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.0k
                        .transform_error(make_eof_scan_error));
5865
78.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
231k
    {
5863
231k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
229k
                        .transform_error(make_eof_scan_error));
5865
229k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
231k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
255k
    {
5863
255k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
253k
                        .transform_error(make_eof_scan_error));
5865
253k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
255k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
258k
    {
5863
258k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
256k
                        .transform_error(make_eof_scan_error));
5865
256k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
258k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
5862
102k
    {
5863
102k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
101k
                        .transform_error(make_eof_scan_error));
5865
101k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
102k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIcSC_NS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENSA_IwNSB_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIwNSB_IwEENS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
12.3k
    {
5863
12.3k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
12.2k
                        .transform_error(make_eof_scan_error));
5865
12.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
12.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.7k
    {
5863
11.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
12.2k
    {
5863
12.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
12.2k
                        .transform_error(make_eof_scan_error));
5865
12.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
12.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
5862
496
    {
5863
496
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
496
                        .transform_error(make_eof_scan_error));
5865
496
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
496
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
496
    {
5863
496
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
496
                        .transform_error(make_eof_scan_error));
5865
496
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
496
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
496
    {
5863
496
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
496
                        .transform_error(make_eof_scan_error));
5865
496
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
496
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
28.6k
    {
5863
28.6k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
28.4k
                        .transform_error(make_eof_scan_error));
5865
28.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
28.6k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
29.2k
    {
5863
29.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
29.0k
                        .transform_error(make_eof_scan_error));
5865
29.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
29.2k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
28.8k
    {
5863
28.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
28.6k
                        .transform_error(make_eof_scan_error));
5865
28.6k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
28.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
496
    {
5863
496
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
496
                        .transform_error(make_eof_scan_error));
5865
496
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
496
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
5862
14.9M
    {
5863
14.9M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
14.9M
                        .transform_error(make_eof_scan_error));
5865
14.9M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
14.9M
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
14.9M
    {
5863
14.9M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
14.9M
                        .transform_error(make_eof_scan_error));
5865
14.9M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
14.9M
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.7k
    {
5863
11.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
28.6k
    {
5863
28.6k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
28.4k
                        .transform_error(make_eof_scan_error));
5865
28.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
28.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
28.6k
    {
5863
28.6k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
28.5k
                        .transform_error(make_eof_scan_error));
5865
28.5k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
28.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
28.8k
    {
5863
28.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
28.6k
                        .transform_error(make_eof_scan_error));
5865
28.6k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
28.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENSA_IcNSB_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIcNSB_IcEENS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
5862
14.9M
    {
5863
14.9M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
14.9M
                        .transform_error(make_eof_scan_error));
5865
14.9M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
14.9M
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIwSC_NS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
5867
5868
    template <typename T>
5869
    scan_expected<iterator> operator()(T& value)
5870
48.0M
    {
5871
48.0M
        if constexpr (!detail::is_type_disabled<T> &&
5872
48.0M
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
16.4M
            auto rd = make_reader<T, char_type>();
5876
16.4M
            return impl(rd, range, value);
5877
16.4M
        }
5878
16.4M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
16.4M
            auto rd = make_reader<T, char_type>();
5880
16.4M
            if (!is_segment_contiguous(range)) {
5881
16.4M
                return impl(rd, range, value);
5882
16.4M
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
48.0M
        else {
5889
48.0M
            SCN_EXPECT(false);
5890
48.0M
            SCN_UNREACHABLE;
5891
48.0M
        }
5892
48.0M
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
78.8k
    {
5871
78.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
78.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
78.8k
            auto rd = make_reader<T, char_type>();
5876
78.8k
            return impl(rd, range, value);
5877
78.8k
        }
5878
78.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.8k
            auto rd = make_reader<T, char_type>();
5880
78.8k
            if (!is_segment_contiguous(range)) {
5881
78.8k
                return impl(rd, range, value);
5882
78.8k
            }
5883
78.8k
            auto crange = get_as_contiguous(range);
5884
78.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
78.8k
            return ranges::next(range.begin(),
5886
78.8k
                                ranges::distance(crange.begin(), it));
5887
78.8k
        }
5888
78.8k
        else {
5889
78.8k
            SCN_EXPECT(false);
5890
78.8k
            SCN_UNREACHABLE;
5891
78.8k
        }
5892
78.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
5870
91.8k
    {
5871
91.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
91.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
91.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
91.8k
            auto rd = make_reader<T, char_type>();
5876
91.8k
            return impl(rd, range, value);
5877
91.8k
        }
5878
91.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
91.8k
            auto rd = make_reader<T, char_type>();
5880
91.8k
            if (!is_segment_contiguous(range)) {
5881
91.8k
                return impl(rd, range, value);
5882
91.8k
            }
5883
91.8k
            auto crange = get_as_contiguous(range);
5884
91.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
91.8k
            return ranges::next(range.begin(),
5886
91.8k
                                ranges::distance(crange.begin(), it));
5887
91.8k
        }
5888
91.8k
        else {
5889
91.8k
            SCN_EXPECT(false);
5890
91.8k
            SCN_UNREACHABLE;
5891
91.8k
        }
5892
91.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
5870
92.8k
    {
5871
92.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
92.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
92.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
92.8k
            auto rd = make_reader<T, char_type>();
5876
92.8k
            return impl(rd, range, value);
5877
92.8k
        }
5878
92.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
92.8k
            auto rd = make_reader<T, char_type>();
5880
92.8k
            if (!is_segment_contiguous(range)) {
5881
92.8k
                return impl(rd, range, value);
5882
92.8k
            }
5883
92.8k
            auto crange = get_as_contiguous(range);
5884
92.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
92.8k
            return ranges::next(range.begin(),
5886
92.8k
                                ranges::distance(crange.begin(), it));
5887
92.8k
        }
5888
92.8k
        else {
5889
92.8k
            SCN_EXPECT(false);
5890
92.8k
            SCN_UNREACHABLE;
5891
92.8k
        }
5892
92.8k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
69.9k
    {
5871
69.9k
        if constexpr (!detail::is_type_disabled<T> &&
5872
69.9k
                      std::is_same_v<
5873
0
                          context_type,
5874
69.9k
                          basic_contiguous_scan_context<char_type>>) {
5875
69.9k
            auto rd = make_reader<T, char_type>();
5876
69.9k
            return impl(rd, range, value);
5877
69.9k
        }
5878
69.9k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
69.9k
            auto rd = make_reader<T, char_type>();
5880
69.9k
            if (!is_segment_contiguous(range)) {
5881
69.9k
                return impl(rd, range, value);
5882
69.9k
            }
5883
69.9k
            auto crange = get_as_contiguous(range);
5884
69.9k
            SCN_TRY(it, impl(rd, crange, value));
5885
69.9k
            return ranges::next(range.begin(),
5886
69.9k
                                ranges::distance(crange.begin(), it));
5887
69.9k
        }
5888
69.9k
        else {
5889
69.9k
            SCN_EXPECT(false);
5890
69.9k
            SCN_UNREACHABLE;
5891
69.9k
        }
5892
69.9k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
78.6k
    {
5871
78.6k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.6k
                      std::is_same_v<
5873
0
                          context_type,
5874
78.6k
                          basic_contiguous_scan_context<char_type>>) {
5875
78.6k
            auto rd = make_reader<T, char_type>();
5876
78.6k
            return impl(rd, range, value);
5877
78.6k
        }
5878
78.6k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.6k
            auto rd = make_reader<T, char_type>();
5880
78.6k
            if (!is_segment_contiguous(range)) {
5881
78.6k
                return impl(rd, range, value);
5882
78.6k
            }
5883
78.6k
            auto crange = get_as_contiguous(range);
5884
78.6k
            SCN_TRY(it, impl(rd, crange, value));
5885
78.6k
            return ranges::next(range.begin(),
5886
78.6k
                                ranges::distance(crange.begin(), it));
5887
78.6k
        }
5888
78.6k
        else {
5889
78.6k
            SCN_EXPECT(false);
5890
78.6k
            SCN_UNREACHABLE;
5891
78.6k
        }
5892
78.6k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
79.0k
    {
5871
79.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
79.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
79.0k
                          basic_contiguous_scan_context<char_type>>) {
5875
79.0k
            auto rd = make_reader<T, char_type>();
5876
79.0k
            return impl(rd, range, value);
5877
79.0k
        }
5878
79.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
79.0k
            auto rd = make_reader<T, char_type>();
5880
79.0k
            if (!is_segment_contiguous(range)) {
5881
79.0k
                return impl(rd, range, value);
5882
79.0k
            }
5883
79.0k
            auto crange = get_as_contiguous(range);
5884
79.0k
            SCN_TRY(it, impl(rd, crange, value));
5885
79.0k
            return ranges::next(range.begin(),
5886
79.0k
                                ranges::distance(crange.begin(), it));
5887
79.0k
        }
5888
79.0k
        else {
5889
79.0k
            SCN_EXPECT(false);
5890
79.0k
            SCN_UNREACHABLE;
5891
79.0k
        }
5892
79.0k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<void*>(void*&)
Line
Count
Source
5870
646
    {
5871
646
        if constexpr (!detail::is_type_disabled<T> &&
5872
646
                      std::is_same_v<
5873
0
                          context_type,
5874
646
                          basic_contiguous_scan_context<char_type>>) {
5875
646
            auto rd = make_reader<T, char_type>();
5876
646
            return impl(rd, range, value);
5877
646
        }
5878
646
        else if constexpr (!detail::is_type_disabled<T>) {
5879
646
            auto rd = make_reader<T, char_type>();
5880
646
            if (!is_segment_contiguous(range)) {
5881
646
                return impl(rd, range, value);
5882
646
            }
5883
646
            auto crange = get_as_contiguous(range);
5884
646
            SCN_TRY(it, impl(rd, crange, value));
5885
646
            return ranges::next(range.begin(),
5886
646
                                ranges::distance(crange.begin(), it));
5887
646
        }
5888
646
        else {
5889
646
            SCN_EXPECT(false);
5890
646
            SCN_UNREACHABLE;
5891
646
        }
5892
646
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<bool>(bool&)
Line
Count
Source
5870
646
    {
5871
646
        if constexpr (!detail::is_type_disabled<T> &&
5872
646
                      std::is_same_v<
5873
0
                          context_type,
5874
646
                          basic_contiguous_scan_context<char_type>>) {
5875
646
            auto rd = make_reader<T, char_type>();
5876
646
            return impl(rd, range, value);
5877
646
        }
5878
646
        else if constexpr (!detail::is_type_disabled<T>) {
5879
646
            auto rd = make_reader<T, char_type>();
5880
646
            if (!is_segment_contiguous(range)) {
5881
646
                return impl(rd, range, value);
5882
646
            }
5883
646
            auto crange = get_as_contiguous(range);
5884
646
            SCN_TRY(it, impl(rd, crange, value));
5885
646
            return ranges::next(range.begin(),
5886
646
                                ranges::distance(crange.begin(), it));
5887
646
        }
5888
646
        else {
5889
646
            SCN_EXPECT(false);
5890
646
            SCN_UNREACHABLE;
5891
646
        }
5892
646
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char>(char&)
Line
Count
Source
5870
646
    {
5871
646
        if constexpr (!detail::is_type_disabled<T> &&
5872
646
                      std::is_same_v<
5873
0
                          context_type,
5874
646
                          basic_contiguous_scan_context<char_type>>) {
5875
646
            auto rd = make_reader<T, char_type>();
5876
646
            return impl(rd, range, value);
5877
646
        }
5878
646
        else if constexpr (!detail::is_type_disabled<T>) {
5879
646
            auto rd = make_reader<T, char_type>();
5880
646
            if (!is_segment_contiguous(range)) {
5881
646
                return impl(rd, range, value);
5882
646
            }
5883
646
            auto crange = get_as_contiguous(range);
5884
646
            SCN_TRY(it, impl(rd, crange, value));
5885
646
            return ranges::next(range.begin(),
5886
646
                                ranges::distance(crange.begin(), it));
5887
646
        }
5888
646
        else {
5889
646
            SCN_EXPECT(false);
5890
646
            SCN_UNREACHABLE;
5891
646
        }
5892
646
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
5870
243k
    {
5871
243k
        if constexpr (!detail::is_type_disabled<T> &&
5872
243k
                      std::is_same_v<
5873
0
                          context_type,
5874
243k
                          basic_contiguous_scan_context<char_type>>) {
5875
243k
            auto rd = make_reader<T, char_type>();
5876
243k
            return impl(rd, range, value);
5877
243k
        }
5878
243k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
243k
            auto rd = make_reader<T, char_type>();
5880
243k
            if (!is_segment_contiguous(range)) {
5881
243k
                return impl(rd, range, value);
5882
243k
            }
5883
243k
            auto crange = get_as_contiguous(range);
5884
243k
            SCN_TRY(it, impl(rd, crange, value));
5885
243k
            return ranges::next(range.begin(),
5886
243k
                                ranges::distance(crange.begin(), it));
5887
243k
        }
5888
243k
        else {
5889
243k
            SCN_EXPECT(false);
5890
243k
            SCN_UNREACHABLE;
5891
243k
        }
5892
243k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
5870
269k
    {
5871
269k
        if constexpr (!detail::is_type_disabled<T> &&
5872
269k
                      std::is_same_v<
5873
0
                          context_type,
5874
269k
                          basic_contiguous_scan_context<char_type>>) {
5875
269k
            auto rd = make_reader<T, char_type>();
5876
269k
            return impl(rd, range, value);
5877
269k
        }
5878
269k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
269k
            auto rd = make_reader<T, char_type>();
5880
269k
            if (!is_segment_contiguous(range)) {
5881
269k
                return impl(rd, range, value);
5882
269k
            }
5883
269k
            auto crange = get_as_contiguous(range);
5884
269k
            SCN_TRY(it, impl(rd, crange, value));
5885
269k
            return ranges::next(range.begin(),
5886
269k
                                ranges::distance(crange.begin(), it));
5887
269k
        }
5888
269k
        else {
5889
269k
            SCN_EXPECT(false);
5890
269k
            SCN_UNREACHABLE;
5891
269k
        }
5892
269k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
5870
273k
    {
5871
273k
        if constexpr (!detail::is_type_disabled<T> &&
5872
273k
                      std::is_same_v<
5873
0
                          context_type,
5874
273k
                          basic_contiguous_scan_context<char_type>>) {
5875
273k
            auto rd = make_reader<T, char_type>();
5876
273k
            return impl(rd, range, value);
5877
273k
        }
5878
273k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
273k
            auto rd = make_reader<T, char_type>();
5880
273k
            if (!is_segment_contiguous(range)) {
5881
273k
                return impl(rd, range, value);
5882
273k
            }
5883
273k
            auto crange = get_as_contiguous(range);
5884
273k
            SCN_TRY(it, impl(rd, crange, value));
5885
273k
            return ranges::next(range.begin(),
5886
273k
                                ranges::distance(crange.begin(), it));
5887
273k
        }
5888
273k
        else {
5889
273k
            SCN_EXPECT(false);
5890
273k
            SCN_UNREACHABLE;
5891
273k
        }
5892
273k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5870
100k
    {
5871
100k
        if constexpr (!detail::is_type_disabled<T> &&
5872
100k
                      std::is_same_v<
5873
0
                          context_type,
5874
100k
                          basic_contiguous_scan_context<char_type>>) {
5875
100k
            auto rd = make_reader<T, char_type>();
5876
100k
            return impl(rd, range, value);
5877
100k
        }
5878
100k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
100k
            auto rd = make_reader<T, char_type>();
5880
100k
            if (!is_segment_contiguous(range)) {
5881
100k
                return impl(rd, range, value);
5882
100k
            }
5883
100k
            auto crange = get_as_contiguous(range);
5884
100k
            SCN_TRY(it, impl(rd, crange, value));
5885
100k
            return ranges::next(range.begin(),
5886
100k
                                ranges::distance(crange.begin(), it));
5887
100k
        }
5888
100k
        else {
5889
100k
            SCN_EXPECT(false);
5890
100k
            SCN_UNREACHABLE;
5891
100k
        }
5892
100k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
100k
    {
5871
100k
        if constexpr (!detail::is_type_disabled<T> &&
5872
100k
                      std::is_same_v<
5873
0
                          context_type,
5874
100k
                          basic_contiguous_scan_context<char_type>>) {
5875
100k
            auto rd = make_reader<T, char_type>();
5876
100k
            return impl(rd, range, value);
5877
100k
        }
5878
100k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
100k
            auto rd = make_reader<T, char_type>();
5880
100k
            if (!is_segment_contiguous(range)) {
5881
100k
                return impl(rd, range, value);
5882
100k
            }
5883
100k
            auto crange = get_as_contiguous(range);
5884
100k
            SCN_TRY(it, impl(rd, crange, value));
5885
100k
            return ranges::next(range.begin(),
5886
100k
                                ranges::distance(crange.begin(), it));
5887
100k
        }
5888
100k
        else {
5889
100k
            SCN_EXPECT(false);
5890
100k
            SCN_UNREACHABLE;
5891
100k
        }
5892
100k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
646
    {
5871
646
        if constexpr (!detail::is_type_disabled<T> &&
5872
646
                      std::is_same_v<
5873
0
                          context_type,
5874
646
                          basic_contiguous_scan_context<char_type>>) {
5875
646
            auto rd = make_reader<T, char_type>();
5876
646
            return impl(rd, range, value);
5877
646
        }
5878
646
        else if constexpr (!detail::is_type_disabled<T>) {
5879
646
            auto rd = make_reader<T, char_type>();
5880
646
            if (!is_segment_contiguous(range)) {
5881
646
                return impl(rd, range, value);
5882
646
            }
5883
646
            auto crange = get_as_contiguous(range);
5884
646
            SCN_TRY(it, impl(rd, crange, value));
5885
646
            return ranges::next(range.begin(),
5886
646
                                ranges::distance(crange.begin(), it));
5887
646
        }
5888
646
        else {
5889
646
            SCN_EXPECT(false);
5890
646
            SCN_UNREACHABLE;
5891
646
        }
5892
646
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
78.7k
    {
5871
78.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
78.7k
            auto rd = make_reader<T, char_type>();
5876
78.7k
            return impl(rd, range, value);
5877
78.7k
        }
5878
78.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.7k
            auto rd = make_reader<T, char_type>();
5880
78.7k
            if (!is_segment_contiguous(range)) {
5881
78.7k
                return impl(rd, range, value);
5882
78.7k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
78.7k
        else {
5889
78.7k
            SCN_EXPECT(false);
5890
78.7k
            SCN_UNREACHABLE;
5891
78.7k
        }
5892
78.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
5870
89.5k
    {
5871
89.5k
        if constexpr (!detail::is_type_disabled<T> &&
5872
89.5k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
89.5k
            auto rd = make_reader<T, char_type>();
5876
89.5k
            return impl(rd, range, value);
5877
89.5k
        }
5878
89.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
89.5k
            auto rd = make_reader<T, char_type>();
5880
89.5k
            if (!is_segment_contiguous(range)) {
5881
89.5k
                return impl(rd, range, value);
5882
89.5k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
89.5k
        else {
5889
89.5k
            SCN_EXPECT(false);
5890
89.5k
            SCN_UNREACHABLE;
5891
89.5k
        }
5892
89.5k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
5870
91.0k
    {
5871
91.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
91.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
91.0k
            auto rd = make_reader<T, char_type>();
5876
91.0k
            return impl(rd, range, value);
5877
91.0k
        }
5878
91.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
91.0k
            auto rd = make_reader<T, char_type>();
5880
91.0k
            if (!is_segment_contiguous(range)) {
5881
91.0k
                return impl(rd, range, value);
5882
91.0k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
91.0k
        else {
5889
91.0k
            SCN_EXPECT(false);
5890
91.0k
            SCN_UNREACHABLE;
5891
91.0k
        }
5892
91.0k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
69.8k
    {
5871
69.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
69.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
69.8k
            auto rd = make_reader<T, char_type>();
5876
69.8k
            return impl(rd, range, value);
5877
69.8k
        }
5878
69.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
69.8k
            auto rd = make_reader<T, char_type>();
5880
69.8k
            if (!is_segment_contiguous(range)) {
5881
69.8k
                return impl(rd, range, value);
5882
69.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
69.8k
        else {
5889
69.8k
            SCN_EXPECT(false);
5890
69.8k
            SCN_UNREACHABLE;
5891
69.8k
        }
5892
69.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
77.8k
    {
5871
77.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
77.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
77.8k
            auto rd = make_reader<T, char_type>();
5876
77.8k
            return impl(rd, range, value);
5877
77.8k
        }
5878
77.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
77.8k
            auto rd = make_reader<T, char_type>();
5880
77.8k
            if (!is_segment_contiguous(range)) {
5881
77.8k
                return impl(rd, range, value);
5882
77.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
77.8k
        else {
5889
77.8k
            SCN_EXPECT(false);
5890
77.8k
            SCN_UNREACHABLE;
5891
77.8k
        }
5892
77.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
78.8k
    {
5871
78.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
78.8k
            auto rd = make_reader<T, char_type>();
5876
78.8k
            return impl(rd, range, value);
5877
78.8k
        }
5878
78.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.8k
            auto rd = make_reader<T, char_type>();
5880
78.8k
            if (!is_segment_contiguous(range)) {
5881
78.8k
                return impl(rd, range, value);
5882
78.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
78.8k
        else {
5889
78.8k
            SCN_EXPECT(false);
5890
78.8k
            SCN_UNREACHABLE;
5891
78.8k
        }
5892
78.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
5870
231k
    {
5871
231k
        if constexpr (!detail::is_type_disabled<T> &&
5872
231k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
231k
            auto rd = make_reader<T, char_type>();
5876
231k
            return impl(rd, range, value);
5877
231k
        }
5878
231k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
231k
            auto rd = make_reader<T, char_type>();
5880
231k
            if (!is_segment_contiguous(range)) {
5881
231k
                return impl(rd, range, value);
5882
231k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
231k
        else {
5889
231k
            SCN_EXPECT(false);
5890
231k
            SCN_UNREACHABLE;
5891
231k
        }
5892
231k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
5870
255k
    {
5871
255k
        if constexpr (!detail::is_type_disabled<T> &&
5872
255k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
255k
            auto rd = make_reader<T, char_type>();
5876
255k
            return impl(rd, range, value);
5877
255k
        }
5878
255k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
255k
            auto rd = make_reader<T, char_type>();
5880
255k
            if (!is_segment_contiguous(range)) {
5881
255k
                return impl(rd, range, value);
5882
255k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
255k
        else {
5889
255k
            SCN_EXPECT(false);
5890
255k
            SCN_UNREACHABLE;
5891
255k
        }
5892
255k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
5870
258k
    {
5871
258k
        if constexpr (!detail::is_type_disabled<T> &&
5872
258k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
258k
            auto rd = make_reader<T, char_type>();
5876
258k
            return impl(rd, range, value);
5877
258k
        }
5878
258k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
258k
            auto rd = make_reader<T, char_type>();
5880
258k
            if (!is_segment_contiguous(range)) {
5881
258k
                return impl(rd, range, value);
5882
258k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
258k
        else {
5889
258k
            SCN_EXPECT(false);
5890
258k
            SCN_UNREACHABLE;
5891
258k
        }
5892
258k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
102k
    {
5871
102k
        if constexpr (!detail::is_type_disabled<T> &&
5872
102k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
102k
            auto rd = make_reader<T, char_type>();
5876
102k
            return impl(rd, range, value);
5877
102k
        }
5878
102k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
102k
            auto rd = make_reader<T, char_type>();
5880
102k
            if (!is_segment_contiguous(range)) {
5881
102k
                return impl(rd, range, value);
5882
102k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
102k
        else {
5889
102k
            SCN_EXPECT(false);
5890
102k
            SCN_UNREACHABLE;
5891
102k
        }
5892
102k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
11.8k
            auto crange = get_as_contiguous(range);
5884
11.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.8k
            return ranges::next(range.begin(),
5886
11.8k
                                ranges::distance(crange.begin(), it));
5887
11.8k
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
5870
12.3k
    {
5871
12.3k
        if constexpr (!detail::is_type_disabled<T> &&
5872
12.3k
                      std::is_same_v<
5873
0
                          context_type,
5874
12.3k
                          basic_contiguous_scan_context<char_type>>) {
5875
12.3k
            auto rd = make_reader<T, char_type>();
5876
12.3k
            return impl(rd, range, value);
5877
12.3k
        }
5878
12.3k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
12.3k
            auto rd = make_reader<T, char_type>();
5880
12.3k
            if (!is_segment_contiguous(range)) {
5881
12.3k
                return impl(rd, range, value);
5882
12.3k
            }
5883
12.3k
            auto crange = get_as_contiguous(range);
5884
12.3k
            SCN_TRY(it, impl(rd, crange, value));
5885
12.3k
            return ranges::next(range.begin(),
5886
12.3k
                                ranges::distance(crange.begin(), it));
5887
12.3k
        }
5888
12.3k
        else {
5889
12.3k
            SCN_EXPECT(false);
5890
12.3k
            SCN_UNREACHABLE;
5891
12.3k
        }
5892
12.3k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
11.8k
            auto crange = get_as_contiguous(range);
5884
11.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.8k
            return ranges::next(range.begin(),
5886
11.8k
                                ranges::distance(crange.begin(), it));
5887
11.8k
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
11.7k
    {
5871
11.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.7k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.7k
            auto rd = make_reader<T, char_type>();
5876
11.7k
            return impl(rd, range, value);
5877
11.7k
        }
5878
11.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.7k
            auto rd = make_reader<T, char_type>();
5880
11.7k
            if (!is_segment_contiguous(range)) {
5881
11.7k
                return impl(rd, range, value);
5882
11.7k
            }
5883
11.7k
            auto crange = get_as_contiguous(range);
5884
11.7k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.7k
            return ranges::next(range.begin(),
5886
11.7k
                                ranges::distance(crange.begin(), it));
5887
11.7k
        }
5888
11.7k
        else {
5889
11.7k
            SCN_EXPECT(false);
5890
11.7k
            SCN_UNREACHABLE;
5891
11.7k
        }
5892
11.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
12.2k
    {
5871
12.2k
        if constexpr (!detail::is_type_disabled<T> &&
5872
12.2k
                      std::is_same_v<
5873
0
                          context_type,
5874
12.2k
                          basic_contiguous_scan_context<char_type>>) {
5875
12.2k
            auto rd = make_reader<T, char_type>();
5876
12.2k
            return impl(rd, range, value);
5877
12.2k
        }
5878
12.2k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
12.2k
            auto rd = make_reader<T, char_type>();
5880
12.2k
            if (!is_segment_contiguous(range)) {
5881
12.2k
                return impl(rd, range, value);
5882
12.2k
            }
5883
12.2k
            auto crange = get_as_contiguous(range);
5884
12.2k
            SCN_TRY(it, impl(rd, crange, value));
5885
12.2k
            return ranges::next(range.begin(),
5886
12.2k
                                ranges::distance(crange.begin(), it));
5887
12.2k
        }
5888
12.2k
        else {
5889
12.2k
            SCN_EXPECT(false);
5890
12.2k
            SCN_UNREACHABLE;
5891
12.2k
        }
5892
12.2k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
11.8k
            auto crange = get_as_contiguous(range);
5884
11.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.8k
            return ranges::next(range.begin(),
5886
11.8k
                                ranges::distance(crange.begin(), it));
5887
11.8k
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
5870
496
    {
5871
496
        if constexpr (!detail::is_type_disabled<T> &&
5872
496
                      std::is_same_v<
5873
0
                          context_type,
5874
496
                          basic_contiguous_scan_context<char_type>>) {
5875
496
            auto rd = make_reader<T, char_type>();
5876
496
            return impl(rd, range, value);
5877
496
        }
5878
496
        else if constexpr (!detail::is_type_disabled<T>) {
5879
496
            auto rd = make_reader<T, char_type>();
5880
496
            if (!is_segment_contiguous(range)) {
5881
496
                return impl(rd, range, value);
5882
496
            }
5883
496
            auto crange = get_as_contiguous(range);
5884
496
            SCN_TRY(it, impl(rd, crange, value));
5885
496
            return ranges::next(range.begin(),
5886
496
                                ranges::distance(crange.begin(), it));
5887
496
        }
5888
496
        else {
5889
496
            SCN_EXPECT(false);
5890
496
            SCN_UNREACHABLE;
5891
496
        }
5892
496
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
5870
496
    {
5871
496
        if constexpr (!detail::is_type_disabled<T> &&
5872
496
                      std::is_same_v<
5873
0
                          context_type,
5874
496
                          basic_contiguous_scan_context<char_type>>) {
5875
496
            auto rd = make_reader<T, char_type>();
5876
496
            return impl(rd, range, value);
5877
496
        }
5878
496
        else if constexpr (!detail::is_type_disabled<T>) {
5879
496
            auto rd = make_reader<T, char_type>();
5880
496
            if (!is_segment_contiguous(range)) {
5881
496
                return impl(rd, range, value);
5882
496
            }
5883
496
            auto crange = get_as_contiguous(range);
5884
496
            SCN_TRY(it, impl(rd, crange, value));
5885
496
            return ranges::next(range.begin(),
5886
496
                                ranges::distance(crange.begin(), it));
5887
496
        }
5888
496
        else {
5889
496
            SCN_EXPECT(false);
5890
496
            SCN_UNREACHABLE;
5891
496
        }
5892
496
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char>(char&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
5870
496
    {
5871
496
        if constexpr (!detail::is_type_disabled<T> &&
5872
496
                      std::is_same_v<
5873
0
                          context_type,
5874
496
                          basic_contiguous_scan_context<char_type>>) {
5875
496
            auto rd = make_reader<T, char_type>();
5876
496
            return impl(rd, range, value);
5877
496
        }
5878
496
        else if constexpr (!detail::is_type_disabled<T>) {
5879
496
            auto rd = make_reader<T, char_type>();
5880
496
            if (!is_segment_contiguous(range)) {
5881
496
                return impl(rd, range, value);
5882
496
            }
5883
496
            auto crange = get_as_contiguous(range);
5884
496
            SCN_TRY(it, impl(rd, crange, value));
5885
496
            return ranges::next(range.begin(),
5886
496
                                ranges::distance(crange.begin(), it));
5887
496
        }
5888
496
        else {
5889
496
            SCN_EXPECT(false);
5890
496
            SCN_UNREACHABLE;
5891
496
        }
5892
496
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
5870
28.6k
    {
5871
28.6k
        if constexpr (!detail::is_type_disabled<T> &&
5872
28.6k
                      std::is_same_v<
5873
0
                          context_type,
5874
28.6k
                          basic_contiguous_scan_context<char_type>>) {
5875
28.6k
            auto rd = make_reader<T, char_type>();
5876
28.6k
            return impl(rd, range, value);
5877
28.6k
        }
5878
28.6k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
28.6k
            auto rd = make_reader<T, char_type>();
5880
28.6k
            if (!is_segment_contiguous(range)) {
5881
28.6k
                return impl(rd, range, value);
5882
28.6k
            }
5883
28.6k
            auto crange = get_as_contiguous(range);
5884
28.6k
            SCN_TRY(it, impl(rd, crange, value));
5885
28.6k
            return ranges::next(range.begin(),
5886
28.6k
                                ranges::distance(crange.begin(), it));
5887
28.6k
        }
5888
28.6k
        else {
5889
28.6k
            SCN_EXPECT(false);
5890
28.6k
            SCN_UNREACHABLE;
5891
28.6k
        }
5892
28.6k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
5870
29.2k
    {
5871
29.2k
        if constexpr (!detail::is_type_disabled<T> &&
5872
29.2k
                      std::is_same_v<
5873
0
                          context_type,
5874
29.2k
                          basic_contiguous_scan_context<char_type>>) {
5875
29.2k
            auto rd = make_reader<T, char_type>();
5876
29.2k
            return impl(rd, range, value);
5877
29.2k
        }
5878
29.2k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
29.2k
            auto rd = make_reader<T, char_type>();
5880
29.2k
            if (!is_segment_contiguous(range)) {
5881
29.2k
                return impl(rd, range, value);
5882
29.2k
            }
5883
29.2k
            auto crange = get_as_contiguous(range);
5884
29.2k
            SCN_TRY(it, impl(rd, crange, value));
5885
29.2k
            return ranges::next(range.begin(),
5886
29.2k
                                ranges::distance(crange.begin(), it));
5887
29.2k
        }
5888
29.2k
        else {
5889
29.2k
            SCN_EXPECT(false);
5890
29.2k
            SCN_UNREACHABLE;
5891
29.2k
        }
5892
29.2k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
5870
28.8k
    {
5871
28.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
28.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
28.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
28.8k
            auto rd = make_reader<T, char_type>();
5876
28.8k
            return impl(rd, range, value);
5877
28.8k
        }
5878
28.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
28.8k
            auto rd = make_reader<T, char_type>();
5880
28.8k
            if (!is_segment_contiguous(range)) {
5881
28.8k
                return impl(rd, range, value);
5882
28.8k
            }
5883
28.8k
            auto crange = get_as_contiguous(range);
5884
28.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
28.8k
            return ranges::next(range.begin(),
5886
28.8k
                                ranges::distance(crange.begin(), it));
5887
28.8k
        }
5888
28.8k
        else {
5889
28.8k
            SCN_EXPECT(false);
5890
28.8k
            SCN_UNREACHABLE;
5891
28.8k
        }
5892
28.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
496
    {
5871
496
        if constexpr (!detail::is_type_disabled<T> &&
5872
496
                      std::is_same_v<
5873
0
                          context_type,
5874
496
                          basic_contiguous_scan_context<char_type>>) {
5875
496
            auto rd = make_reader<T, char_type>();
5876
496
            return impl(rd, range, value);
5877
496
        }
5878
496
        else if constexpr (!detail::is_type_disabled<T>) {
5879
496
            auto rd = make_reader<T, char_type>();
5880
496
            if (!is_segment_contiguous(range)) {
5881
496
                return impl(rd, range, value);
5882
496
            }
5883
496
            auto crange = get_as_contiguous(range);
5884
496
            SCN_TRY(it, impl(rd, crange, value));
5885
496
            return ranges::next(range.begin(),
5886
496
                                ranges::distance(crange.begin(), it));
5887
496
        }
5888
496
        else {
5889
496
            SCN_EXPECT(false);
5890
496
            SCN_UNREACHABLE;
5891
496
        }
5892
496
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5870
14.9M
    {
5871
14.9M
        if constexpr (!detail::is_type_disabled<T> &&
5872
14.9M
                      std::is_same_v<
5873
0
                          context_type,
5874
14.9M
                          basic_contiguous_scan_context<char_type>>) {
5875
14.9M
            auto rd = make_reader<T, char_type>();
5876
14.9M
            return impl(rd, range, value);
5877
14.9M
        }
5878
14.9M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
14.9M
            auto rd = make_reader<T, char_type>();
5880
14.9M
            if (!is_segment_contiguous(range)) {
5881
14.9M
                return impl(rd, range, value);
5882
14.9M
            }
5883
14.9M
            auto crange = get_as_contiguous(range);
5884
14.9M
            SCN_TRY(it, impl(rd, crange, value));
5885
14.9M
            return ranges::next(range.begin(),
5886
14.9M
                                ranges::distance(crange.begin(), it));
5887
14.9M
        }
5888
14.9M
        else {
5889
14.9M
            SCN_EXPECT(false);
5890
14.9M
            SCN_UNREACHABLE;
5891
14.9M
        }
5892
14.9M
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
14.9M
    {
5871
14.9M
        if constexpr (!detail::is_type_disabled<T> &&
5872
14.9M
                      std::is_same_v<
5873
0
                          context_type,
5874
14.9M
                          basic_contiguous_scan_context<char_type>>) {
5875
14.9M
            auto rd = make_reader<T, char_type>();
5876
14.9M
            return impl(rd, range, value);
5877
14.9M
        }
5878
14.9M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
14.9M
            auto rd = make_reader<T, char_type>();
5880
14.9M
            if (!is_segment_contiguous(range)) {
5881
14.9M
                return impl(rd, range, value);
5882
14.9M
            }
5883
14.9M
            auto crange = get_as_contiguous(range);
5884
14.9M
            SCN_TRY(it, impl(rd, crange, value));
5885
14.9M
            return ranges::next(range.begin(),
5886
14.9M
                                ranges::distance(crange.begin(), it));
5887
14.9M
        }
5888
14.9M
        else {
5889
14.9M
            SCN_EXPECT(false);
5890
14.9M
            SCN_UNREACHABLE;
5891
14.9M
        }
5892
14.9M
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
11.7k
    {
5871
11.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.7k
            auto rd = make_reader<T, char_type>();
5876
11.7k
            return impl(rd, range, value);
5877
11.7k
        }
5878
11.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.7k
            auto rd = make_reader<T, char_type>();
5880
11.7k
            if (!is_segment_contiguous(range)) {
5881
11.7k
                return impl(rd, range, value);
5882
11.7k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.7k
        else {
5889
11.7k
            SCN_EXPECT(false);
5890
11.7k
            SCN_UNREACHABLE;
5891
11.7k
        }
5892
11.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
5870
28.6k
    {
5871
28.6k
        if constexpr (!detail::is_type_disabled<T> &&
5872
28.6k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
28.6k
            auto rd = make_reader<T, char_type>();
5876
28.6k
            return impl(rd, range, value);
5877
28.6k
        }
5878
28.6k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
28.6k
            auto rd = make_reader<T, char_type>();
5880
28.6k
            if (!is_segment_contiguous(range)) {
5881
28.6k
                return impl(rd, range, value);
5882
28.6k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
28.6k
        else {
5889
28.6k
            SCN_EXPECT(false);
5890
28.6k
            SCN_UNREACHABLE;
5891
28.6k
        }
5892
28.6k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
5870
28.6k
    {
5871
28.6k
        if constexpr (!detail::is_type_disabled<T> &&
5872
28.6k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
28.6k
            auto rd = make_reader<T, char_type>();
5876
28.6k
            return impl(rd, range, value);
5877
28.6k
        }
5878
28.6k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
28.6k
            auto rd = make_reader<T, char_type>();
5880
28.6k
            if (!is_segment_contiguous(range)) {
5881
28.6k
                return impl(rd, range, value);
5882
28.6k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
28.6k
        else {
5889
28.6k
            SCN_EXPECT(false);
5890
28.6k
            SCN_UNREACHABLE;
5891
28.6k
        }
5892
28.6k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
5870
28.8k
    {
5871
28.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
28.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
28.8k
            auto rd = make_reader<T, char_type>();
5876
28.8k
            return impl(rd, range, value);
5877
28.8k
        }
5878
28.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
28.8k
            auto rd = make_reader<T, char_type>();
5880
28.8k
            if (!is_segment_contiguous(range)) {
5881
28.8k
                return impl(rd, range, value);
5882
28.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
28.8k
        else {
5889
28.8k
            SCN_EXPECT(false);
5890
28.8k
            SCN_UNREACHABLE;
5891
28.8k
        }
5892
28.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
14.9M
    {
5871
14.9M
        if constexpr (!detail::is_type_disabled<T> &&
5872
14.9M
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
14.9M
            auto rd = make_reader<T, char_type>();
5876
14.9M
            return impl(rd, range, value);
5877
14.9M
        }
5878
14.9M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
14.9M
            auto rd = make_reader<T, char_type>();
5880
14.9M
            if (!is_segment_contiguous(range)) {
5881
14.9M
                return impl(rd, range, value);
5882
14.9M
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
14.9M
        else {
5889
14.9M
            SCN_EXPECT(false);
5890
14.9M
            SCN_UNREACHABLE;
5891
14.9M
        }
5892
14.9M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
5893
5894
    basic_scan_context<char_type> make_custom_ctx()
5895
0
    {
5896
0
        if constexpr (std::is_same_v<
5897
0
                          context_type,
5898
0
                          basic_contiguous_scan_context<char_type>>) {
5899
0
            auto it =
5900
0
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
5901
0
                    std::basic_string_view<char_type>(range.data(),
5902
0
                                                      range.size()),
5903
0
                    0};
5904
0
            return {it, args, loc};
5905
0
        }
5906
0
        else {
5907
0
            return {range.begin(), args, loc};
5908
0
        }
5909
0
    }
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::make_custom_ctx()
5910
5911
    scan_expected<iterator> operator()(
5912
        typename context_type::arg_type::handle h)
5913
0
    {
5914
0
        if constexpr (!detail::is_type_disabled<void>) {
5915
0
            basic_scan_parse_context<char_type> parse_ctx{{}};
5916
0
            auto ctx = make_custom_ctx();
5917
0
            if (auto e = h.scan(parse_ctx, ctx); !e) {
5918
0
                return unexpected(e);
5919
0
            }
5920
5921
0
            if constexpr (std::is_same_v<
5922
0
                              context_type,
5923
0
                              basic_contiguous_scan_context<char_type>>) {
5924
0
                return range.begin() + ctx.begin().position();
5925
0
            }
5926
0
            else {
5927
0
                return ctx.begin();
5928
0
            }
5929
0
        }
5930
0
        else {
5931
0
            SCN_EXPECT(false);
5932
0
            SCN_UNREACHABLE;
5933
0
        }
5934
0
    }
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
5935
5936
    range_type range;
5937
    args_type args;
5938
    detail::locale_ref loc;
5939
};
5940
5941
template <typename Iterator>
5942
using skip_fill_result = std::pair<Iterator, std::ptrdiff_t>;
5943
5944
template <typename Range>
5945
auto skip_fill(Range range,
5946
               std::ptrdiff_t max_width,
5947
               const detail::fill_type& fill,
5948
               bool want_skipped_width)
5949
    -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
5950
3.49k
{
5951
3.49k
    using char_type = detail::char_t<Range>;
5952
3.49k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
3.49k
    if (fill.size() <= sizeof(char_type)) {
5955
3.05k
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
3.66k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
_ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
5956
2.12k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
_ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
5956
432
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
5956
560
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
5956
540
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
3.05k
        if (max_width == 0) {
5959
1.86k
            auto it = read_while_code_unit(range, pred);
5960
5961
1.86k
            if (want_skipped_width) {
5962
180
                auto prefix_width =
5963
180
                    static_cast<std::ptrdiff_t>(
5964
180
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
180
                    ranges::distance(range.begin(), it);
5966
180
                return result_type{it, prefix_width};
5967
180
            }
5968
1.68k
            return result_type{it, 0};
5969
1.86k
        }
5970
5971
1.18k
        auto max_width_view = take_width(range, max_width);
5972
1.18k
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
1.18k
        if (want_skipped_width) {
5975
1.18k
            return result_type{w_it.base(), max_width - w_it.count()};
5976
1.18k
        }
5977
0
        return result_type{w_it.base(), 0};
5978
1.18k
    }
5979
5980
444
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
444
    if (max_width == 0) {
5982
134
        auto it = read_while_code_units(range, fill_chars);
5983
5984
134
        if (want_skipped_width) {
5985
52
            auto prefix_width =
5986
52
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
52
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
52
            return result_type{it, prefix_width};
5989
52
        }
5990
82
        return result_type{it, 0};
5991
134
    }
5992
5993
310
    auto max_width_view = take_width(range, max_width);
5994
310
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
310
    if (want_skipped_width) {
5997
310
        return result_type{w_it.base(), max_width - w_it.count()};
5998
310
    }
5999
0
    return result_type{w_it.base(), 0};
6000
310
}
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
1.94k
{
5951
1.94k
    using char_type = detail::char_t<Range>;
5952
1.94k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
1.94k
    if (fill.size() <= sizeof(char_type)) {
5955
1.70k
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
1.70k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
1.70k
        if (max_width == 0) {
5959
1.58k
            auto it = read_while_code_unit(range, pred);
5960
5961
1.58k
            if (want_skipped_width) {
5962
130
                auto prefix_width =
5963
130
                    static_cast<std::ptrdiff_t>(
5964
130
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
130
                    ranges::distance(range.begin(), it);
5966
130
                return result_type{it, prefix_width};
5967
130
            }
5968
1.45k
            return result_type{it, 0};
5969
1.58k
        }
5970
5971
124
        auto max_width_view = take_width(range, max_width);
5972
124
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
124
        if (want_skipped_width) {
5975
124
            return result_type{w_it.base(), max_width - w_it.count()};
5976
124
        }
5977
0
        return result_type{w_it.base(), 0};
5978
124
    }
5979
5980
240
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
240
    if (max_width == 0) {
5982
134
        auto it = read_while_code_units(range, fill_chars);
5983
5984
134
        if (want_skipped_width) {
5985
52
            auto prefix_width =
5986
52
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
52
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
52
            return result_type{it, prefix_width};
5989
52
        }
5990
82
        return result_type{it, 0};
5991
134
    }
5992
5993
106
    auto max_width_view = take_width(range, max_width);
5994
106
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
106
    if (want_skipped_width) {
5997
106
        return result_type{w_it.base(), max_width - w_it.count()};
5998
106
    }
5999
0
    return result_type{w_it.base(), 0};
6000
106
}
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
338
{
5951
338
    using char_type = detail::char_t<Range>;
5952
338
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
338
    if (fill.size() <= sizeof(char_type)) {
5955
338
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
338
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
338
        if (max_width == 0) {
5959
288
            auto it = read_while_code_unit(range, pred);
5960
5961
288
            if (want_skipped_width) {
5962
50
                auto prefix_width =
5963
50
                    static_cast<std::ptrdiff_t>(
5964
50
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
50
                    ranges::distance(range.begin(), it);
5966
50
                return result_type{it, prefix_width};
5967
50
            }
5968
238
            return result_type{it, 0};
5969
288
        }
5970
5971
50
        auto max_width_view = take_width(range, max_width);
5972
50
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
50
        if (want_skipped_width) {
5975
50
            return result_type{w_it.base(), max_width - w_it.count()};
5976
50
        }
5977
0
        return result_type{w_it.base(), 0};
5978
50
    }
5979
5980
0
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
0
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
0
    auto max_width_view = take_width(range, max_width);
5994
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
0
    if (want_skipped_width) {
5997
0
        return result_type{w_it.base(), max_width - w_it.count()};
5998
0
    }
5999
0
    return result_type{w_it.base(), 0};
6000
0
}
_ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
710
{
5951
710
    using char_type = detail::char_t<Range>;
5952
710
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
710
    if (fill.size() <= sizeof(char_type)) {
5955
506
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
506
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
506
        if (max_width == 0) {
5959
0
            auto it = read_while_code_unit(range, pred);
5960
5961
0
            if (want_skipped_width) {
5962
0
                auto prefix_width =
5963
0
                    static_cast<std::ptrdiff_t>(
5964
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
0
                    ranges::distance(range.begin(), it);
5966
0
                return result_type{it, prefix_width};
5967
0
            }
5968
0
            return result_type{it, 0};
5969
0
        }
5970
5971
506
        auto max_width_view = take_width(range, max_width);
5972
506
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
506
        if (want_skipped_width) {
5975
506
            return result_type{w_it.base(), max_width - w_it.count()};
5976
506
        }
5977
0
        return result_type{w_it.base(), 0};
5978
506
    }
5979
5980
204
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
204
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
204
    auto max_width_view = take_width(range, max_width);
5994
204
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
204
    if (want_skipped_width) {
5997
204
        return result_type{w_it.base(), max_width - w_it.count()};
5998
204
    }
5999
0
    return result_type{w_it.base(), 0};
6000
204
}
_ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
504
{
5951
504
    using char_type = detail::char_t<Range>;
5952
504
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
504
    if (fill.size() <= sizeof(char_type)) {
5955
504
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
504
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
504
        if (max_width == 0) {
5959
0
            auto it = read_while_code_unit(range, pred);
5960
5961
0
            if (want_skipped_width) {
5962
0
                auto prefix_width =
5963
0
                    static_cast<std::ptrdiff_t>(
5964
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
0
                    ranges::distance(range.begin(), it);
5966
0
                return result_type{it, prefix_width};
5967
0
            }
5968
0
            return result_type{it, 0};
5969
0
        }
5970
5971
504
        auto max_width_view = take_width(range, max_width);
5972
504
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
504
        if (want_skipped_width) {
5975
504
            return result_type{w_it.base(), max_width - w_it.count()};
5976
504
        }
5977
0
        return result_type{w_it.base(), 0};
5978
504
    }
5979
5980
0
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
0
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
0
    auto max_width_view = take_width(range, max_width);
5994
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
0
    if (want_skipped_width) {
5997
0
        return result_type{w_it.base(), max_width - w_it.count()};
5998
0
    }
5999
0
    return result_type{w_it.base(), 0};
6000
0
}
6001
6002
SCN_MAYBE_UNUSED constexpr scan_error check_widths_for_arg_reader(
6003
    const detail::format_specs& specs,
6004
    std::ptrdiff_t prefix_width,
6005
    std::ptrdiff_t value_width,
6006
    std::ptrdiff_t postfix_width)
6007
36.9M
{
6008
36.9M
    if (specs.width != 0) {
6009
1.85k
        if (prefix_width + value_width + postfix_width < specs.width) {
6010
790
            return {scan_error::invalid_scanned_value,
6011
790
                    "Scanned value too narrow, width did not exceed what "
6012
790
                    "was specified in the format string"};
6013
790
        }
6014
1.85k
    }
6015
36.9M
    if (specs.precision != 0) {
6016
1.55k
        if (prefix_width + value_width + postfix_width > specs.precision) {
6017
54
            return {scan_error::invalid_scanned_value,
6018
54
                    "Scanned value too wide, width exceeded the specified "
6019
54
                    "precision"};
6020
54
        }
6021
1.55k
    }
6022
36.9M
    return {};
6023
36.9M
}
6024
6025
template <typename Context>
6026
struct arg_reader {
6027
    using context_type = Context;
6028
    using char_type = typename context_type::char_type;
6029
6030
    using range_type = typename context_type::range_type;
6031
    using iterator = ranges::iterator_t<range_type>;
6032
6033
    template <typename Range>
6034
    auto impl_prefix(Range rng, bool rd_skip_ws_before_read)
6035
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6036
38.4M
    {
6037
38.4M
        const bool need_skipped_width =
6038
38.4M
            specs.width != 0 || specs.precision != 0;
6039
38.4M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
38.4M
        if (specs.align == detail::align_type::right ||
6043
38.4M
            specs.align == detail::align_type::center) {
6044
2.99k
            return skip_fill(rng, specs.precision, specs.fill,
6045
2.99k
                             need_skipped_width);
6046
2.99k
        }
6047
38.4M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
38.3M
            if (specs.precision != 0) {
6051
2.55k
                auto max_width_view = take_width(rng, specs.precision);
6052
2.55k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
2.44k
                                  .transform_error(make_eof_scan_error));
6054
2.44k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
2.55k
            }
6056
76.6M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
76.6M
                            make_eof_scan_error));
6058
6059
76.6M
            if (need_skipped_width) {
6060
2.94k
                return result_type{
6061
2.94k
                    it,
6062
2.94k
                    calculate_text_width(make_contiguous_buffer(
6063
2.94k
                                             ranges::subrange{rng.begin(), it})
6064
2.94k
                                             .view())};
6065
2.94k
            }
6066
38.2M
            return result_type{it, 0};
6067
76.6M
        }
6068
6069
35.4k
        return result_type{rng.begin(), 0};
6070
38.4M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_b
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_b
Line
Count
Source
6036
3.68M
    {
6037
3.68M
        const bool need_skipped_width =
6038
3.68M
            specs.width != 0 || specs.precision != 0;
6039
3.68M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
3.68M
        if (specs.align == detail::align_type::right ||
6043
3.68M
            specs.align == detail::align_type::center) {
6044
0
            return skip_fill(rng, specs.precision, specs.fill,
6045
0
                             need_skipped_width);
6046
0
        }
6047
3.68M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
3.67M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
7.31M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
7.31M
                            make_eof_scan_error));
6058
6059
7.31M
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
3.63M
            return result_type{it, 0};
6067
7.31M
        }
6068
6069
2.62k
        return result_type{rng.begin(), 0};
6070
3.68M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_b
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_b
Line
Count
Source
6036
10.5M
    {
6037
10.5M
        const bool need_skipped_width =
6038
10.5M
            specs.width != 0 || specs.precision != 0;
6039
10.5M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
10.5M
        if (specs.align == detail::align_type::right ||
6043
10.5M
            specs.align == detail::align_type::center) {
6044
0
            return skip_fill(rng, specs.precision, specs.fill,
6045
0
                             need_skipped_width);
6046
0
        }
6047
10.5M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
10.5M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
21.0M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
21.0M
                            make_eof_scan_error));
6058
6059
21.0M
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
10.5M
            return result_type{it, 0};
6067
21.0M
        }
6068
6069
3.48k
        return result_type{rng.begin(), 0};
6070
10.5M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_b
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6036
3.63k
    {
6037
3.63k
        const bool need_skipped_width =
6038
3.63k
            specs.width != 0 || specs.precision != 0;
6039
3.63k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
3.63k
        if (specs.align == detail::align_type::right ||
6043
3.63k
            specs.align == detail::align_type::center) {
6044
710
            return skip_fill(rng, specs.precision, specs.fill,
6045
710
                             need_skipped_width);
6046
710
        }
6047
2.92k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
1.88k
            if (specs.precision != 0) {
6051
1.88k
                auto max_width_view = take_width(rng, specs.precision);
6052
1.88k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
1.77k
                                  .transform_error(make_eof_scan_error));
6054
1.77k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
1.88k
            }
6056
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
0
                            make_eof_scan_error));
6058
6059
0
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
0
            return result_type{it, 0};
6067
0
        }
6068
6069
1.04k
        return result_type{rng.begin(), 0};
6070
2.92k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6036
3.67M
    {
6037
3.67M
        const bool need_skipped_width =
6038
3.67M
            specs.width != 0 || specs.precision != 0;
6039
3.67M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
3.67M
        if (specs.align == detail::align_type::right ||
6043
3.67M
            specs.align == detail::align_type::center) {
6044
1.52k
            return skip_fill(rng, specs.precision, specs.fill,
6045
1.52k
                             need_skipped_width);
6046
1.52k
        }
6047
3.67M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
3.65M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
7.26M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
7.26M
                            make_eof_scan_error));
6058
6059
7.26M
            if (need_skipped_width) {
6060
970
                return result_type{
6061
970
                    it,
6062
970
                    calculate_text_width(make_contiguous_buffer(
6063
970
                                             ranges::subrange{rng.begin(), it})
6064
970
                                             .view())};
6065
970
            }
6066
3.61M
            return result_type{it, 0};
6067
7.26M
        }
6068
6069
16.8k
        return result_type{rng.begin(), 0};
6070
3.67M
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6036
1.31k
    {
6037
1.31k
        const bool need_skipped_width =
6038
1.31k
            specs.width != 0 || specs.precision != 0;
6039
1.31k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
1.31k
        if (specs.align == detail::align_type::right ||
6043
1.31k
            specs.align == detail::align_type::center) {
6044
504
            return skip_fill(rng, specs.precision, specs.fill,
6045
504
                             need_skipped_width);
6046
504
        }
6047
808
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
668
            if (specs.precision != 0) {
6051
668
                auto max_width_view = take_width(rng, specs.precision);
6052
668
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
668
                                  .transform_error(make_eof_scan_error));
6054
668
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
668
            }
6056
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
0
                            make_eof_scan_error));
6058
6059
0
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
0
            return result_type{it, 0};
6067
0
        }
6068
6069
140
        return result_type{rng.begin(), 0};
6070
808
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6036
20.5M
    {
6037
20.5M
        const bool need_skipped_width =
6038
20.5M
            specs.width != 0 || specs.precision != 0;
6039
20.5M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
20.5M
        if (specs.align == detail::align_type::right ||
6043
20.5M
            specs.align == detail::align_type::center) {
6044
252
            return skip_fill(rng, specs.precision, specs.fill,
6045
252
                             need_skipped_width);
6046
252
        }
6047
20.5M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
20.5M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
41.0M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
41.0M
                            make_eof_scan_error));
6058
6059
41.0M
            if (need_skipped_width) {
6060
1.97k
                return result_type{
6061
1.97k
                    it,
6062
1.97k
                    calculate_text_width(make_contiguous_buffer(
6063
1.97k
                                             ranges::subrange{rng.begin(), it})
6064
1.97k
                                             .view())};
6065
1.97k
            }
6066
20.5M
            return result_type{it, 0};
6067
41.0M
        }
6068
6069
11.3k
        return result_type{rng.begin(), 0};
6070
20.5M
    }
6071
6072
    template <typename Range>
6073
    auto impl_postfix(Range rng,
6074
                      bool rd_skip_ws_before_read,
6075
                      std::ptrdiff_t prefix_width,
6076
                      std::ptrdiff_t value_width)
6077
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6078
36.8M
    {
6079
36.8M
        const bool need_skipped_width =
6080
36.8M
            specs.width != 0 || specs.precision != 0;
6081
36.8M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
36.8M
        if (specs.align == detail::align_type::left ||
6084
36.8M
            specs.align == detail::align_type::center) {
6085
638
            if (specs.precision != 0 &&
6086
638
                specs.precision - value_width - prefix_width == 0) {
6087
136
                return result_type{rng.begin(), 0};
6088
136
            }
6089
502
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
502
                             specs.fill, need_skipped_width);
6091
638
        }
6092
36.8M
        if (specs.align == detail::align_type::none &&
6093
36.8M
            !rd_skip_ws_before_read &&
6094
36.8M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
6.64k
             (specs.precision != 0 &&
6096
6.11k
              prefix_width + value_width < specs.precision))) {
6097
994
            if (specs.precision != 0) {
6098
466
                const auto initial_width =
6099
466
                    specs.precision - prefix_width - value_width;
6100
466
                auto max_width_view = take_width(rng, initial_width);
6101
466
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
466
                                  .transform_error(make_eof_scan_error));
6103
466
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
466
            }
6105
1.05k
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
1.05k
                            make_eof_scan_error));
6107
6108
1.05k
            if (need_skipped_width) {
6109
528
                return result_type{
6110
528
                    it,
6111
528
                    calculate_text_width(make_contiguous_buffer(
6112
528
                                             ranges::subrange{rng.begin(), it})
6113
528
                                             .view())};
6114
528
            }
6115
0
            return result_type{it, 0};
6116
1.05k
        }
6117
36.8M
        return result_type{rng.begin(), 0};
6118
36.8M
    }
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_bll
Line
Count
Source
6078
3.40M
    {
6079
3.40M
        const bool need_skipped_width =
6080
3.40M
            specs.width != 0 || specs.precision != 0;
6081
3.40M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
3.40M
        if (specs.align == detail::align_type::left ||
6084
3.40M
            specs.align == detail::align_type::center) {
6085
0
            if (specs.precision != 0 &&
6086
0
                specs.precision - value_width - prefix_width == 0) {
6087
0
                return result_type{rng.begin(), 0};
6088
0
            }
6089
0
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
0
                             specs.fill, need_skipped_width);
6091
0
        }
6092
3.40M
        if (specs.align == detail::align_type::none &&
6093
3.40M
            !rd_skip_ws_before_read &&
6094
3.40M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
888
             (specs.precision != 0 &&
6096
888
              prefix_width + value_width < specs.precision))) {
6097
0
            if (specs.precision != 0) {
6098
0
                const auto initial_width =
6099
0
                    specs.precision - prefix_width - value_width;
6100
0
                auto max_width_view = take_width(rng, initial_width);
6101
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
0
                                  .transform_error(make_eof_scan_error));
6103
0
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
0
            }
6105
0
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
0
                            make_eof_scan_error));
6107
6108
0
            if (need_skipped_width) {
6109
0
                return result_type{
6110
0
                    it,
6111
0
                    calculate_text_width(make_contiguous_buffer(
6112
0
                                             ranges::subrange{rng.begin(), it})
6113
0
                                             .view())};
6114
0
            }
6115
0
            return result_type{it, 0};
6116
0
        }
6117
3.40M
        return result_type{rng.begin(), 0};
6118
3.40M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_bll
Line
Count
Source
6078
10.0M
    {
6079
10.0M
        const bool need_skipped_width =
6080
10.0M
            specs.width != 0 || specs.precision != 0;
6081
10.0M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
10.0M
        if (specs.align == detail::align_type::left ||
6084
10.0M
            specs.align == detail::align_type::center) {
6085
0
            if (specs.precision != 0 &&
6086
0
                specs.precision - value_width - prefix_width == 0) {
6087
0
                return result_type{rng.begin(), 0};
6088
0
            }
6089
0
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
0
                             specs.fill, need_skipped_width);
6091
0
        }
6092
10.0M
        if (specs.align == detail::align_type::none &&
6093
10.0M
            !rd_skip_ws_before_read &&
6094
10.0M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
32
             (specs.precision != 0 &&
6096
32
              prefix_width + value_width < specs.precision))) {
6097
0
            if (specs.precision != 0) {
6098
0
                const auto initial_width =
6099
0
                    specs.precision - prefix_width - value_width;
6100
0
                auto max_width_view = take_width(rng, initial_width);
6101
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
0
                                  .transform_error(make_eof_scan_error));
6103
0
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
0
            }
6105
0
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
0
                            make_eof_scan_error));
6107
6108
0
            if (need_skipped_width) {
6109
0
                return result_type{
6110
0
                    it,
6111
0
                    calculate_text_width(make_contiguous_buffer(
6112
0
                                             ranges::subrange{rng.begin(), it})
6113
0
                                             .view())};
6114
0
            }
6115
0
            return result_type{it, 0};
6116
0
        }
6117
10.0M
        return result_type{rng.begin(), 0};
6118
10.0M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6078
3.38M
    {
6079
3.38M
        const bool need_skipped_width =
6080
3.38M
            specs.width != 0 || specs.precision != 0;
6081
3.38M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
3.38M
        if (specs.align == detail::align_type::left ||
6084
3.38M
            specs.align == detail::align_type::center) {
6085
502
            if (specs.precision != 0 &&
6086
502
                specs.precision - value_width - prefix_width == 0) {
6087
86
                return result_type{rng.begin(), 0};
6088
86
            }
6089
416
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
416
                             specs.fill, need_skipped_width);
6091
502
        }
6092
3.38M
        if (specs.align == detail::align_type::none &&
6093
3.38M
            !rd_skip_ws_before_read &&
6094
3.38M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
5.10k
             (specs.precision != 0 &&
6096
4.93k
              prefix_width + value_width < specs.precision))) {
6097
562
            if (specs.precision != 0) {
6098
396
                const auto initial_width =
6099
396
                    specs.precision - prefix_width - value_width;
6100
396
                auto max_width_view = take_width(rng, initial_width);
6101
396
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
396
                                  .transform_error(make_eof_scan_error));
6103
396
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
396
            }
6105
332
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
332
                            make_eof_scan_error));
6107
6108
332
            if (need_skipped_width) {
6109
166
                return result_type{
6110
166
                    it,
6111
166
                    calculate_text_width(make_contiguous_buffer(
6112
166
                                             ranges::subrange{rng.begin(), it})
6113
166
                                             .view())};
6114
166
            }
6115
0
            return result_type{it, 0};
6116
332
        }
6117
3.38M
        return result_type{rng.begin(), 0};
6118
3.38M
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6078
20.0M
    {
6079
20.0M
        const bool need_skipped_width =
6080
20.0M
            specs.width != 0 || specs.precision != 0;
6081
20.0M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
20.0M
        if (specs.align == detail::align_type::left ||
6084
20.0M
            specs.align == detail::align_type::center) {
6085
136
            if (specs.precision != 0 &&
6086
136
                specs.precision - value_width - prefix_width == 0) {
6087
50
                return result_type{rng.begin(), 0};
6088
50
            }
6089
86
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
86
                             specs.fill, need_skipped_width);
6091
136
        }
6092
20.0M
        if (specs.align == detail::align_type::none &&
6093
20.0M
            !rd_skip_ws_before_read &&
6094
20.0M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
620
             (specs.precision != 0 &&
6096
432
              prefix_width + value_width < specs.precision))) {
6097
432
            if (specs.precision != 0) {
6098
70
                const auto initial_width =
6099
70
                    specs.precision - prefix_width - value_width;
6100
70
                auto max_width_view = take_width(rng, initial_width);
6101
70
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
70
                                  .transform_error(make_eof_scan_error));
6103
70
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
70
            }
6105
724
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
724
                            make_eof_scan_error));
6107
6108
724
            if (need_skipped_width) {
6109
362
                return result_type{
6110
362
                    it,
6111
362
                    calculate_text_width(make_contiguous_buffer(
6112
362
                                             ranges::subrange{rng.begin(), it})
6113
362
                                             .view())};
6114
362
            }
6115
0
            return result_type{it, 0};
6116
724
        }
6117
20.0M
        return result_type{rng.begin(), 0};
6118
20.0M
    }
6119
6120
    template <typename Reader, typename Range, typename T>
6121
    auto impl(Reader& rd, Range rng, T& value)
6122
        -> scan_expected<ranges::iterator_t<Range>>
6123
38.4M
    {
6124
38.4M
        const bool need_skipped_width =
6125
38.4M
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
38.4M
        auto it = rng.begin();
6129
38.4M
        std::ptrdiff_t prefix_width = 0;
6130
38.4M
        if (specs.precision != 0) {
6131
4.94k
            auto max_width_view = take_width(rng, specs.precision);
6132
4.94k
            SCN_TRY(prefix_result,
6133
4.83k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
4.83k
            it = prefix_result.first.base();
6135
4.83k
            prefix_width = prefix_result.second;
6136
4.83k
        }
6137
38.4M
        else {
6138
38.4M
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
38.3M
            std::tie(it, prefix_width) = prefix_result;
6140
38.3M
        }
6141
38.3M
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
38.3M
        std::ptrdiff_t value_width = 0;
6145
38.3M
        if (specs.precision != 0) {
6146
4.83k
            if (specs.precision <= prefix_width) {
6147
82
                return unexpected_scan_error(
6148
82
                    scan_error::invalid_scanned_value,
6149
82
                    "Too many fill characters before value, "
6150
82
                    "precision exceeded before reading value");
6151
82
            }
6152
6153
4.75k
            const auto initial_width = specs.precision - prefix_width;
6154
4.75k
            auto max_width_view =
6155
4.75k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
4.75k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
1.56k
            it = w_it.base();
6158
1.56k
            value_width = initial_width - w_it.count();
6159
1.56k
        }
6160
38.3M
        else {
6161
38.3M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
36.9M
                                             specs, value, loc));
6163
6164
36.9M
            if (need_skipped_width) {
6165
1.79k
                value_width = calculate_text_width(
6166
1.79k
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
1.79k
                        .view());
6168
1.79k
            }
6169
36.9M
        }
6170
6171
        // Read postfix
6172
36.9M
        std::ptrdiff_t postfix_width = 0;
6173
36.9M
        if (it != rng.end()) {
6174
36.8M
            SCN_TRY(postfix_result,
6175
36.8M
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
36.8M
                                 rd.skip_ws_before_read(), prefix_width,
6177
36.8M
                                 value_width));
6178
36.8M
            std::tie(it, postfix_width) = postfix_result;
6179
36.8M
        }
6180
6181
36.9M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
36.9M
                                                 value_width, postfix_width);
6183
36.9M
            !e) {
6184
844
            return unexpected(e);
6185
844
        }
6186
6187
36.9M
        return it;
6188
36.9M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
248k
    {
6124
248k
        const bool need_skipped_width =
6125
248k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
248k
        auto it = rng.begin();
6129
248k
        std::ptrdiff_t prefix_width = 0;
6130
248k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
248k
        else {
6138
248k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
245k
            std::tie(it, prefix_width) = prefix_result;
6140
245k
        }
6141
245k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
245k
        std::ptrdiff_t value_width = 0;
6145
245k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
245k
        else {
6161
245k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
224k
                                             specs, value, loc));
6163
6164
224k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
224k
        }
6170
6171
        // Read postfix
6172
224k
        std::ptrdiff_t postfix_width = 0;
6173
224k
        if (it != rng.end()) {
6174
222k
            SCN_TRY(postfix_result,
6175
222k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
222k
                                 rd.skip_ws_before_read(), prefix_width,
6177
222k
                                 value_width));
6178
222k
            std::tie(it, postfix_width) = postfix_result;
6179
222k
        }
6180
6181
224k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
224k
                                                 value_width, postfix_width);
6183
224k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
224k
        return it;
6188
224k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
322k
    {
6124
322k
        const bool need_skipped_width =
6125
322k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
322k
        auto it = rng.begin();
6129
322k
        std::ptrdiff_t prefix_width = 0;
6130
322k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
322k
        else {
6138
322k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
318k
            std::tie(it, prefix_width) = prefix_result;
6140
318k
        }
6141
318k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
318k
        std::ptrdiff_t value_width = 0;
6145
318k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
318k
        else {
6161
318k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
299k
                                             specs, value, loc));
6163
6164
299k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
299k
        }
6170
6171
        // Read postfix
6172
299k
        std::ptrdiff_t postfix_width = 0;
6173
299k
        if (it != rng.end()) {
6174
296k
            SCN_TRY(postfix_result,
6175
296k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
296k
                                 rd.skip_ws_before_read(), prefix_width,
6177
296k
                                 value_width));
6178
296k
            std::tie(it, postfix_width) = postfix_result;
6179
296k
        }
6180
6181
299k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
299k
                                                 value_width, postfix_width);
6183
299k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
299k
        return it;
6188
299k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
328k
    {
6124
328k
        const bool need_skipped_width =
6125
328k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
328k
        auto it = rng.begin();
6129
328k
        std::ptrdiff_t prefix_width = 0;
6130
328k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
328k
        else {
6138
328k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
324k
            std::tie(it, prefix_width) = prefix_result;
6140
324k
        }
6141
324k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
324k
        std::ptrdiff_t value_width = 0;
6145
324k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
324k
        else {
6161
324k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
305k
                                             specs, value, loc));
6163
6164
305k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
305k
        }
6170
6171
        // Read postfix
6172
305k
        std::ptrdiff_t postfix_width = 0;
6173
305k
        if (it != rng.end()) {
6174
302k
            SCN_TRY(postfix_result,
6175
302k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
302k
                                 rd.skip_ws_before_read(), prefix_width,
6177
302k
                                 value_width));
6178
302k
            std::tie(it, postfix_width) = postfix_result;
6179
302k
        }
6180
6181
305k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
305k
                                                 value_width, postfix_width);
6183
305k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
305k
        return it;
6188
305k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
243k
    {
6124
243k
        const bool need_skipped_width =
6125
243k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
243k
        auto it = rng.begin();
6129
243k
        std::ptrdiff_t prefix_width = 0;
6130
243k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
243k
        else {
6138
243k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
241k
            std::tie(it, prefix_width) = prefix_result;
6140
241k
        }
6141
241k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
241k
        std::ptrdiff_t value_width = 0;
6145
241k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
241k
        else {
6161
241k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
220k
                                             specs, value, loc));
6163
6164
220k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
220k
        }
6170
6171
        // Read postfix
6172
220k
        std::ptrdiff_t postfix_width = 0;
6173
220k
        if (it != rng.end()) {
6174
218k
            SCN_TRY(postfix_result,
6175
218k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
218k
                                 rd.skip_ws_before_read(), prefix_width,
6177
218k
                                 value_width));
6178
218k
            std::tie(it, postfix_width) = postfix_result;
6179
218k
        }
6180
6181
220k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
220k
                                                 value_width, postfix_width);
6183
220k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
220k
        return it;
6188
220k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
277k
    {
6124
277k
        const bool need_skipped_width =
6125
277k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
277k
        auto it = rng.begin();
6129
277k
        std::ptrdiff_t prefix_width = 0;
6130
277k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
277k
        else {
6138
277k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
274k
            std::tie(it, prefix_width) = prefix_result;
6140
274k
        }
6141
274k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
274k
        std::ptrdiff_t value_width = 0;
6145
274k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
274k
        else {
6161
274k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
254k
                                             specs, value, loc));
6163
6164
254k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
254k
        }
6170
6171
        // Read postfix
6172
254k
        std::ptrdiff_t postfix_width = 0;
6173
254k
        if (it != rng.end()) {
6174
252k
            SCN_TRY(postfix_result,
6175
252k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
252k
                                 rd.skip_ws_before_read(), prefix_width,
6177
252k
                                 value_width));
6178
252k
            std::tie(it, postfix_width) = postfix_result;
6179
252k
        }
6180
6181
254k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
254k
                                                 value_width, postfix_width);
6183
254k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
254k
        return it;
6188
254k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
280k
    {
6124
280k
        const bool need_skipped_width =
6125
280k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
280k
        auto it = rng.begin();
6129
280k
        std::ptrdiff_t prefix_width = 0;
6130
280k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
280k
        else {
6138
280k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
277k
            std::tie(it, prefix_width) = prefix_result;
6140
277k
        }
6141
277k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
277k
        std::ptrdiff_t value_width = 0;
6145
277k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
277k
        else {
6161
277k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
257k
                                             specs, value, loc));
6163
6164
257k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
257k
        }
6170
6171
        // Read postfix
6172
257k
        std::ptrdiff_t postfix_width = 0;
6173
257k
        if (it != rng.end()) {
6174
254k
            SCN_TRY(postfix_result,
6175
254k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
254k
                                 rd.skip_ws_before_read(), prefix_width,
6177
254k
                                 value_width));
6178
254k
            std::tie(it, postfix_width) = postfix_result;
6179
254k
        }
6180
6181
257k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
257k
                                                 value_width, postfix_width);
6183
257k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
257k
        return it;
6188
257k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
606k
    {
6124
606k
        const bool need_skipped_width =
6125
606k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
606k
        auto it = rng.begin();
6129
606k
        std::ptrdiff_t prefix_width = 0;
6130
606k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
606k
        else {
6138
606k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
599k
            std::tie(it, prefix_width) = prefix_result;
6140
599k
        }
6141
599k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
599k
        std::ptrdiff_t value_width = 0;
6145
599k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
599k
        else {
6161
599k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
571k
                                             specs, value, loc));
6163
6164
571k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
571k
        }
6170
6171
        // Read postfix
6172
571k
        std::ptrdiff_t postfix_width = 0;
6173
571k
        if (it != rng.end()) {
6174
566k
            SCN_TRY(postfix_result,
6175
566k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
566k
                                 rd.skip_ws_before_read(), prefix_width,
6177
566k
                                 value_width));
6178
566k
            std::tie(it, postfix_width) = postfix_result;
6179
566k
        }
6180
6181
571k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
571k
                                                 value_width, postfix_width);
6183
571k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
571k
        return it;
6188
571k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
648k
    {
6124
648k
        const bool need_skipped_width =
6125
648k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
648k
        auto it = rng.begin();
6129
648k
        std::ptrdiff_t prefix_width = 0;
6130
648k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
648k
        else {
6138
648k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
640k
            std::tie(it, prefix_width) = prefix_result;
6140
640k
        }
6141
640k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
640k
        std::ptrdiff_t value_width = 0;
6145
640k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
640k
        else {
6161
640k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
613k
                                             specs, value, loc));
6163
6164
613k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
613k
        }
6170
6171
        // Read postfix
6172
613k
        std::ptrdiff_t postfix_width = 0;
6173
613k
        if (it != rng.end()) {
6174
608k
            SCN_TRY(postfix_result,
6175
608k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
608k
                                 rd.skip_ws_before_read(), prefix_width,
6177
608k
                                 value_width));
6178
608k
            std::tie(it, postfix_width) = postfix_result;
6179
608k
        }
6180
6181
613k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
613k
                                                 value_width, postfix_width);
6183
613k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
613k
        return it;
6188
613k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
655k
    {
6124
655k
        const bool need_skipped_width =
6125
655k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
655k
        auto it = rng.begin();
6129
655k
        std::ptrdiff_t prefix_width = 0;
6130
655k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
655k
        else {
6138
655k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
647k
            std::tie(it, prefix_width) = prefix_result;
6140
647k
        }
6141
647k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
647k
        std::ptrdiff_t value_width = 0;
6145
647k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
647k
        else {
6161
647k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
620k
                                             specs, value, loc));
6163
6164
620k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
620k
        }
6170
6171
        // Read postfix
6172
620k
        std::ptrdiff_t postfix_width = 0;
6173
620k
        if (it != rng.end()) {
6174
614k
            SCN_TRY(postfix_result,
6175
614k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
614k
                                 rd.skip_ws_before_read(), prefix_width,
6177
614k
                                 value_width));
6178
614k
            std::tie(it, postfix_width) = postfix_result;
6179
614k
        }
6180
6181
620k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
620k
                                                 value_width, postfix_width);
6183
620k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
620k
        return it;
6188
620k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
6123
70.8k
    {
6124
70.8k
        const bool need_skipped_width =
6125
70.8k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
70.8k
        auto it = rng.begin();
6129
70.8k
        std::ptrdiff_t prefix_width = 0;
6130
70.8k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
70.8k
        else {
6138
70.8k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
69.7k
            std::tie(it, prefix_width) = prefix_result;
6140
69.7k
        }
6141
69.7k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
69.7k
        std::ptrdiff_t value_width = 0;
6145
69.7k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
69.7k
        else {
6161
69.7k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
67.4k
                                             specs, value, loc));
6163
6164
67.4k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
67.4k
        }
6170
6171
        // Read postfix
6172
67.4k
        std::ptrdiff_t postfix_width = 0;
6173
67.4k
        if (it != rng.end()) {
6174
66.9k
            SCN_TRY(postfix_result,
6175
66.9k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
66.9k
                                 rd.skip_ws_before_read(), prefix_width,
6177
66.9k
                                 value_width));
6178
66.9k
            std::tie(it, postfix_width) = postfix_result;
6179
66.9k
        }
6180
6181
67.4k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
67.4k
                                                 value_width, postfix_width);
6183
67.4k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
67.4k
        return it;
6188
67.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIcSC_NS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIwNSB_IwEENS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENSA_IwNSB_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.1k
    {
6124
47.1k
        const bool need_skipped_width =
6125
47.1k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.1k
        auto it = rng.begin();
6129
47.1k
        std::ptrdiff_t prefix_width = 0;
6130
47.1k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.1k
        else {
6138
47.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
460
                                             specs, value, loc));
6163
6164
460
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
460
        }
6170
6171
        // Read postfix
6172
460
        std::ptrdiff_t postfix_width = 0;
6173
460
        if (it != rng.end()) {
6174
292
            SCN_TRY(postfix_result,
6175
292
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
292
                                 rd.skip_ws_before_read(), prefix_width,
6177
292
                                 value_width));
6178
292
            std::tie(it, postfix_width) = postfix_result;
6179
292
        }
6180
6181
460
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
460
                                                 value_width, postfix_width);
6183
460
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
460
        return it;
6188
460
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.2k
    {
6124
47.2k
        const bool need_skipped_width =
6125
47.2k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.2k
        auto it = rng.begin();
6129
47.2k
        std::ptrdiff_t prefix_width = 0;
6130
47.2k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.2k
        else {
6138
47.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.9k
            std::tie(it, prefix_width) = prefix_result;
6140
46.9k
        }
6141
46.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.9k
        std::ptrdiff_t value_width = 0;
6145
46.9k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.9k
        else {
6161
46.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
546
                                             specs, value, loc));
6163
6164
546
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
546
        }
6170
6171
        // Read postfix
6172
546
        std::ptrdiff_t postfix_width = 0;
6173
546
        if (it != rng.end()) {
6174
366
            SCN_TRY(postfix_result,
6175
366
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
366
                                 rd.skip_ws_before_read(), prefix_width,
6177
366
                                 value_width));
6178
366
            std::tie(it, postfix_width) = postfix_result;
6179
366
        }
6180
6181
546
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
546
                                                 value_width, postfix_width);
6183
546
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
546
        return it;
6188
546
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.3k
    {
6124
47.3k
        const bool need_skipped_width =
6125
47.3k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.3k
        auto it = rng.begin();
6129
47.3k
        std::ptrdiff_t prefix_width = 0;
6130
47.3k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.3k
        else {
6138
47.3k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
47.0k
            std::tie(it, prefix_width) = prefix_result;
6140
47.0k
        }
6141
47.0k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
47.0k
        std::ptrdiff_t value_width = 0;
6145
47.0k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
47.0k
        else {
6161
47.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
654
                                             specs, value, loc));
6163
6164
654
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
654
        }
6170
6171
        // Read postfix
6172
654
        std::ptrdiff_t postfix_width = 0;
6173
654
        if (it != rng.end()) {
6174
474
            SCN_TRY(postfix_result,
6175
474
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
474
                                 rd.skip_ws_before_read(), prefix_width,
6177
474
                                 value_width));
6178
474
            std::tie(it, postfix_width) = postfix_result;
6179
474
        }
6180
6181
654
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
654
                                                 value_width, postfix_width);
6183
654
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
654
        return it;
6188
654
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.0k
    {
6124
47.0k
        const bool need_skipped_width =
6125
47.0k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.0k
        auto it = rng.begin();
6129
47.0k
        std::ptrdiff_t prefix_width = 0;
6130
47.0k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.0k
        else {
6138
47.0k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
392
                                             specs, value, loc));
6163
6164
392
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
392
        }
6170
6171
        // Read postfix
6172
392
        std::ptrdiff_t postfix_width = 0;
6173
392
        if (it != rng.end()) {
6174
264
            SCN_TRY(postfix_result,
6175
264
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
264
                                 rd.skip_ws_before_read(), prefix_width,
6177
264
                                 value_width));
6178
264
            std::tie(it, postfix_width) = postfix_result;
6179
264
        }
6180
6181
392
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
392
                                                 value_width, postfix_width);
6183
392
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
392
        return it;
6188
392
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.1k
    {
6124
47.1k
        const bool need_skipped_width =
6125
47.1k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.1k
        auto it = rng.begin();
6129
47.1k
        std::ptrdiff_t prefix_width = 0;
6130
47.1k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.1k
        else {
6138
47.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
438
                                             specs, value, loc));
6163
6164
438
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
438
        }
6170
6171
        // Read postfix
6172
438
        std::ptrdiff_t postfix_width = 0;
6173
438
        if (it != rng.end()) {
6174
310
            SCN_TRY(postfix_result,
6175
310
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
310
                                 rd.skip_ws_before_read(), prefix_width,
6177
310
                                 value_width));
6178
310
            std::tie(it, postfix_width) = postfix_result;
6179
310
        }
6180
6181
438
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
438
                                                 value_width, postfix_width);
6183
438
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
438
        return it;
6188
438
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.2k
    {
6124
47.2k
        const bool need_skipped_width =
6125
47.2k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.2k
        auto it = rng.begin();
6129
47.2k
        std::ptrdiff_t prefix_width = 0;
6130
47.2k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.2k
        else {
6138
47.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.9k
            std::tie(it, prefix_width) = prefix_result;
6140
46.9k
        }
6141
46.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.9k
        std::ptrdiff_t value_width = 0;
6145
46.9k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.9k
        else {
6161
46.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
532
                                             specs, value, loc));
6163
6164
532
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
532
        }
6170
6171
        // Read postfix
6172
532
        std::ptrdiff_t postfix_width = 0;
6173
532
        if (it != rng.end()) {
6174
404
            SCN_TRY(postfix_result,
6175
404
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
404
                                 rd.skip_ws_before_read(), prefix_width,
6177
404
                                 value_width));
6178
404
            std::tie(it, postfix_width) = postfix_result;
6179
404
        }
6180
6181
532
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
532
                                                 value_width, postfix_width);
6183
532
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
532
        return it;
6188
532
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
90.4k
    {
6124
90.4k
        const bool need_skipped_width =
6125
90.4k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
90.4k
        auto it = rng.begin();
6129
90.4k
        std::ptrdiff_t prefix_width = 0;
6130
90.4k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
90.4k
        else {
6138
90.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
89.8k
            std::tie(it, prefix_width) = prefix_result;
6140
89.8k
        }
6141
89.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
89.8k
        std::ptrdiff_t value_width = 0;
6145
89.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
89.8k
        else {
6161
89.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
21.8k
                                             specs, value, loc));
6163
6164
21.8k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
21.8k
        }
6170
6171
        // Read postfix
6172
21.8k
        std::ptrdiff_t postfix_width = 0;
6173
21.8k
        if (it != rng.end()) {
6174
21.6k
            SCN_TRY(postfix_result,
6175
21.6k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
21.6k
                                 rd.skip_ws_before_read(), prefix_width,
6177
21.6k
                                 value_width));
6178
21.6k
            std::tie(it, postfix_width) = postfix_result;
6179
21.6k
        }
6180
6181
21.8k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
21.8k
                                                 value_width, postfix_width);
6183
21.8k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
21.8k
        return it;
6188
21.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
90.5k
    {
6124
90.5k
        const bool need_skipped_width =
6125
90.5k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
90.5k
        auto it = rng.begin();
6129
90.5k
        std::ptrdiff_t prefix_width = 0;
6130
90.5k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
90.5k
        else {
6138
90.5k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
89.9k
            std::tie(it, prefix_width) = prefix_result;
6140
89.9k
        }
6141
89.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
89.9k
        std::ptrdiff_t value_width = 0;
6145
89.9k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
89.9k
        else {
6161
89.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
21.9k
                                             specs, value, loc));
6163
6164
21.9k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
21.9k
        }
6170
6171
        // Read postfix
6172
21.9k
        std::ptrdiff_t postfix_width = 0;
6173
21.9k
        if (it != rng.end()) {
6174
21.8k
            SCN_TRY(postfix_result,
6175
21.8k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
21.8k
                                 rd.skip_ws_before_read(), prefix_width,
6177
21.8k
                                 value_width));
6178
21.8k
            std::tie(it, postfix_width) = postfix_result;
6179
21.8k
        }
6180
6181
21.9k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
21.9k
                                                 value_width, postfix_width);
6183
21.9k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
21.9k
        return it;
6188
21.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
90.7k
    {
6124
90.7k
        const bool need_skipped_width =
6125
90.7k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
90.7k
        auto it = rng.begin();
6129
90.7k
        std::ptrdiff_t prefix_width = 0;
6130
90.7k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
90.7k
        else {
6138
90.7k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
90.1k
            std::tie(it, prefix_width) = prefix_result;
6140
90.1k
        }
6141
90.1k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
90.1k
        std::ptrdiff_t value_width = 0;
6145
90.1k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
90.1k
        else {
6161
90.1k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
22.1k
                                             specs, value, loc));
6163
6164
22.1k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
22.1k
        }
6170
6171
        // Read postfix
6172
22.1k
        std::ptrdiff_t postfix_width = 0;
6173
22.1k
        if (it != rng.end()) {
6174
22.0k
            SCN_TRY(postfix_result,
6175
22.0k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
22.0k
                                 rd.skip_ws_before_read(), prefix_width,
6177
22.0k
                                 value_width));
6178
22.0k
            std::tie(it, postfix_width) = postfix_result;
6179
22.0k
        }
6180
6181
22.1k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
22.1k
                                                 value_width, postfix_width);
6183
22.1k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
22.1k
        return it;
6188
22.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIcNSB_IcEENS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
6123
9.97M
    {
6124
9.97M
        const bool need_skipped_width =
6125
9.97M
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
9.97M
        auto it = rng.begin();
6129
9.97M
        std::ptrdiff_t prefix_width = 0;
6130
9.97M
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
9.97M
        else {
6138
9.97M
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
9.97M
            std::tie(it, prefix_width) = prefix_result;
6140
9.97M
        }
6141
9.97M
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
9.97M
        std::ptrdiff_t value_width = 0;
6145
9.97M
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
9.97M
        else {
6161
9.97M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
9.97M
                                             specs, value, loc));
6163
6164
9.97M
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
9.97M
        }
6170
6171
        // Read postfix
6172
9.97M
        std::ptrdiff_t postfix_width = 0;
6173
9.97M
        if (it != rng.end()) {
6174
9.97M
            SCN_TRY(postfix_result,
6175
9.97M
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
9.97M
                                 rd.skip_ws_before_read(), prefix_width,
6177
9.97M
                                 value_width));
6178
9.97M
            std::tie(it, postfix_width) = postfix_result;
6179
9.97M
        }
6180
6181
9.97M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
9.97M
                                                 value_width, postfix_width);
6183
9.97M
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
9.97M
        return it;
6188
9.97M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIwSC_NS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENSA_IcNSB_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
247k
    {
6124
247k
        const bool need_skipped_width =
6125
247k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
247k
        auto it = rng.begin();
6129
247k
        std::ptrdiff_t prefix_width = 0;
6130
247k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
247k
        else {
6138
247k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
244k
            std::tie(it, prefix_width) = prefix_result;
6140
244k
        }
6141
244k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
244k
        std::ptrdiff_t value_width = 0;
6145
244k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
244k
        else {
6161
244k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
223k
                                             specs, value, loc));
6163
6164
223k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
223k
        }
6170
6171
        // Read postfix
6172
223k
        std::ptrdiff_t postfix_width = 0;
6173
223k
        if (it != rng.end()) {
6174
222k
            SCN_TRY(postfix_result,
6175
222k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
222k
                                 rd.skip_ws_before_read(), prefix_width,
6177
222k
                                 value_width));
6178
222k
            std::tie(it, postfix_width) = postfix_result;
6179
222k
        }
6180
6181
223k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
223k
                                                 value_width, postfix_width);
6183
223k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
223k
        return it;
6188
223k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
321k
    {
6124
321k
        const bool need_skipped_width =
6125
321k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
321k
        auto it = rng.begin();
6129
321k
        std::ptrdiff_t prefix_width = 0;
6130
321k
        if (specs.precision != 0) {
6131
296
            auto max_width_view = take_width(rng, specs.precision);
6132
296
            SCN_TRY(prefix_result,
6133
280
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
280
            it = prefix_result.first.base();
6135
280
            prefix_width = prefix_result.second;
6136
280
        }
6137
321k
        else {
6138
321k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
317k
            std::tie(it, prefix_width) = prefix_result;
6140
317k
        }
6141
317k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
317k
        std::ptrdiff_t value_width = 0;
6145
317k
        if (specs.precision != 0) {
6146
280
            if (specs.precision <= prefix_width) {
6147
8
                return unexpected_scan_error(
6148
8
                    scan_error::invalid_scanned_value,
6149
8
                    "Too many fill characters before value, "
6150
8
                    "precision exceeded before reading value");
6151
8
            }
6152
6153
272
            const auto initial_width = specs.precision - prefix_width;
6154
272
            auto max_width_view =
6155
272
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
272
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
317k
        else {
6161
317k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
297k
                                             specs, value, loc));
6163
6164
297k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
297k
        }
6170
6171
        // Read postfix
6172
297k
        std::ptrdiff_t postfix_width = 0;
6173
297k
        if (it != rng.end()) {
6174
294k
            SCN_TRY(postfix_result,
6175
294k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
294k
                                 rd.skip_ws_before_read(), prefix_width,
6177
294k
                                 value_width));
6178
294k
            std::tie(it, postfix_width) = postfix_result;
6179
294k
        }
6180
6181
297k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
297k
                                                 value_width, postfix_width);
6183
297k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
297k
        return it;
6188
297k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
326k
    {
6124
326k
        const bool need_skipped_width =
6125
326k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
326k
        auto it = rng.begin();
6129
326k
        std::ptrdiff_t prefix_width = 0;
6130
326k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
326k
        else {
6138
326k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
322k
            std::tie(it, prefix_width) = prefix_result;
6140
322k
        }
6141
322k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
322k
        std::ptrdiff_t value_width = 0;
6145
322k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
322k
        else {
6161
322k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
303k
                                             specs, value, loc));
6163
6164
303k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
303k
        }
6170
6171
        // Read postfix
6172
303k
        std::ptrdiff_t postfix_width = 0;
6173
303k
        if (it != rng.end()) {
6174
300k
            SCN_TRY(postfix_result,
6175
300k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
300k
                                 rd.skip_ws_before_read(), prefix_width,
6177
300k
                                 value_width));
6178
300k
            std::tie(it, postfix_width) = postfix_result;
6179
300k
        }
6180
6181
303k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
303k
                                                 value_width, postfix_width);
6183
303k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
303k
        return it;
6188
303k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
242k
    {
6124
242k
        const bool need_skipped_width =
6125
242k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
242k
        auto it = rng.begin();
6129
242k
        std::ptrdiff_t prefix_width = 0;
6130
242k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
242k
        else {
6138
242k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
240k
            std::tie(it, prefix_width) = prefix_result;
6140
240k
        }
6141
240k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
240k
        std::ptrdiff_t value_width = 0;
6145
240k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
240k
        else {
6161
240k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
219k
                                             specs, value, loc));
6163
6164
219k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
219k
        }
6170
6171
        // Read postfix
6172
219k
        std::ptrdiff_t postfix_width = 0;
6173
219k
        if (it != rng.end()) {
6174
217k
            SCN_TRY(postfix_result,
6175
217k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
217k
                                 rd.skip_ws_before_read(), prefix_width,
6177
217k
                                 value_width));
6178
217k
            std::tie(it, postfix_width) = postfix_result;
6179
217k
        }
6180
6181
219k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
219k
                                                 value_width, postfix_width);
6183
219k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
219k
        return it;
6188
219k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
276k
    {
6124
276k
        const bool need_skipped_width =
6125
276k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
276k
        auto it = rng.begin();
6129
276k
        std::ptrdiff_t prefix_width = 0;
6130
276k
        if (specs.precision != 0) {
6131
296
            auto max_width_view = take_width(rng, specs.precision);
6132
296
            SCN_TRY(prefix_result,
6133
280
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
280
            it = prefix_result.first.base();
6135
280
            prefix_width = prefix_result.second;
6136
280
        }
6137
276k
        else {
6138
276k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
273k
            std::tie(it, prefix_width) = prefix_result;
6140
273k
        }
6141
273k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
273k
        std::ptrdiff_t value_width = 0;
6145
273k
        if (specs.precision != 0) {
6146
280
            if (specs.precision <= prefix_width) {
6147
8
                return unexpected_scan_error(
6148
8
                    scan_error::invalid_scanned_value,
6149
8
                    "Too many fill characters before value, "
6150
8
                    "precision exceeded before reading value");
6151
8
            }
6152
6153
272
            const auto initial_width = specs.precision - prefix_width;
6154
272
            auto max_width_view =
6155
272
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
272
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
273k
        else {
6161
273k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
252k
                                             specs, value, loc));
6163
6164
252k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
252k
        }
6170
6171
        // Read postfix
6172
252k
        std::ptrdiff_t postfix_width = 0;
6173
252k
        if (it != rng.end()) {
6174
250k
            SCN_TRY(postfix_result,
6175
250k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
250k
                                 rd.skip_ws_before_read(), prefix_width,
6177
250k
                                 value_width));
6178
250k
            std::tie(it, postfix_width) = postfix_result;
6179
250k
        }
6180
6181
252k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
252k
                                                 value_width, postfix_width);
6183
252k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
252k
        return it;
6188
252k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
278k
    {
6124
278k
        const bool need_skipped_width =
6125
278k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
278k
        auto it = rng.begin();
6129
278k
        std::ptrdiff_t prefix_width = 0;
6130
278k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
278k
        else {
6138
278k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
276k
            std::tie(it, prefix_width) = prefix_result;
6140
276k
        }
6141
276k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
276k
        std::ptrdiff_t value_width = 0;
6145
276k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
276k
        else {
6161
276k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
255k
                                             specs, value, loc));
6163
6164
255k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
255k
        }
6170
6171
        // Read postfix
6172
255k
        std::ptrdiff_t postfix_width = 0;
6173
255k
        if (it != rng.end()) {
6174
253k
            SCN_TRY(postfix_result,
6175
253k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
253k
                                 rd.skip_ws_before_read(), prefix_width,
6177
253k
                                 value_width));
6178
253k
            std::tie(it, postfix_width) = postfix_result;
6179
253k
        }
6180
6181
255k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
255k
                                                 value_width, postfix_width);
6183
255k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
255k
        return it;
6188
255k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6123
466
    {
6124
466
        const bool need_skipped_width =
6125
466
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
466
        auto it = rng.begin();
6129
466
        std::ptrdiff_t prefix_width = 0;
6130
466
        if (specs.precision != 0) {
6131
258
            auto max_width_view = take_width(rng, specs.precision);
6132
258
            SCN_TRY(prefix_result,
6133
250
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
250
            it = prefix_result.first.base();
6135
250
            prefix_width = prefix_result.second;
6136
250
        }
6137
208
        else {
6138
208
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
208
            std::tie(it, prefix_width) = prefix_result;
6140
208
        }
6141
458
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
458
        std::ptrdiff_t value_width = 0;
6145
458
        if (specs.precision != 0) {
6146
250
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
244
            const auto initial_width = specs.precision - prefix_width;
6154
244
            auto max_width_view =
6155
244
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
244
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
208
        else {
6161
208
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
716
    {
6124
716
        const bool need_skipped_width =
6125
716
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
716
        auto it = rng.begin();
6129
716
        std::ptrdiff_t prefix_width = 0;
6130
716
        if (specs.precision != 0) {
6131
366
            auto max_width_view = take_width(rng, specs.precision);
6132
366
            SCN_TRY(prefix_result,
6133
346
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
346
            it = prefix_result.first.base();
6135
346
            prefix_width = prefix_result.second;
6136
346
        }
6137
350
        else {
6138
350
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
350
            std::tie(it, prefix_width) = prefix_result;
6140
350
        }
6141
696
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
696
        std::ptrdiff_t value_width = 0;
6145
696
        if (specs.precision != 0) {
6146
346
            if (specs.precision <= prefix_width) {
6147
8
                return unexpected_scan_error(
6148
8
                    scan_error::invalid_scanned_value,
6149
8
                    "Too many fill characters before value, "
6150
8
                    "precision exceeded before reading value");
6151
8
            }
6152
6153
338
            const auto initial_width = specs.precision - prefix_width;
6154
338
            auto max_width_view =
6155
338
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
338
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
350
        else {
6161
350
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
510
    {
6124
510
        const bool need_skipped_width =
6125
510
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
510
        auto it = rng.begin();
6129
510
        std::ptrdiff_t prefix_width = 0;
6130
510
        if (specs.precision != 0) {
6131
288
            auto max_width_view = take_width(rng, specs.precision);
6132
288
            SCN_TRY(prefix_result,
6133
288
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
288
            it = prefix_result.first.base();
6135
288
            prefix_width = prefix_result.second;
6136
288
        }
6137
222
        else {
6138
222
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
222
            std::tie(it, prefix_width) = prefix_result;
6140
222
        }
6141
510
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
510
        std::ptrdiff_t value_width = 0;
6145
510
        if (specs.precision != 0) {
6146
288
            if (specs.precision <= prefix_width) {
6147
8
                return unexpected_scan_error(
6148
8
                    scan_error::invalid_scanned_value,
6149
8
                    "Too many fill characters before value, "
6150
8
                    "precision exceeded before reading value");
6151
8
            }
6152
6153
280
            const auto initial_width = specs.precision - prefix_width;
6154
280
            auto max_width_view =
6155
280
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
280
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
250
            it = w_it.base();
6158
250
            value_width = initial_width - w_it.count();
6159
250
        }
6160
222
        else {
6161
222
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
204
                                             specs, value, loc));
6163
6164
204
            if (need_skipped_width) {
6165
148
                value_width = calculate_text_width(
6166
148
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
148
                        .view());
6168
148
            }
6169
204
        }
6170
6171
        // Read postfix
6172
454
        std::ptrdiff_t postfix_width = 0;
6173
454
        if (it != rng.end()) {
6174
454
            SCN_TRY(postfix_result,
6175
454
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
454
                                 rd.skip_ws_before_read(), prefix_width,
6177
454
                                 value_width));
6178
454
            std::tie(it, postfix_width) = postfix_result;
6179
454
        }
6180
6181
454
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
454
                                                 value_width, postfix_width);
6183
454
            !e) {
6184
138
            return unexpected(e);
6185
138
        }
6186
6187
316
        return it;
6188
454
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
579k
    {
6124
579k
        const bool need_skipped_width =
6125
579k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
579k
        auto it = rng.begin();
6129
579k
        std::ptrdiff_t prefix_width = 0;
6130
579k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
579k
        else {
6138
579k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
573k
            std::tie(it, prefix_width) = prefix_result;
6140
573k
        }
6141
573k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
573k
        std::ptrdiff_t value_width = 0;
6145
573k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
573k
        else {
6161
573k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
545k
                                             specs, value, loc));
6163
6164
545k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
545k
        }
6170
6171
        // Read postfix
6172
545k
        std::ptrdiff_t postfix_width = 0;
6173
545k
        if (it != rng.end()) {
6174
540k
            SCN_TRY(postfix_result,
6175
540k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
540k
                                 rd.skip_ws_before_read(), prefix_width,
6177
540k
                                 value_width));
6178
540k
            std::tie(it, postfix_width) = postfix_result;
6179
540k
        }
6180
6181
545k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
545k
                                                 value_width, postfix_width);
6183
545k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
545k
        return it;
6188
545k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
620k
    {
6124
620k
        const bool need_skipped_width =
6125
620k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
620k
        auto it = rng.begin();
6129
620k
        std::ptrdiff_t prefix_width = 0;
6130
620k
        if (specs.precision != 0) {
6131
296
            auto max_width_view = take_width(rng, specs.precision);
6132
296
            SCN_TRY(prefix_result,
6133
278
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
278
            it = prefix_result.first.base();
6135
278
            prefix_width = prefix_result.second;
6136
278
        }
6137
620k
        else {
6138
620k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
613k
            std::tie(it, prefix_width) = prefix_result;
6140
613k
        }
6141
614k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
614k
        std::ptrdiff_t value_width = 0;
6145
614k
        if (specs.precision != 0) {
6146
278
            if (specs.precision <= prefix_width) {
6147
8
                return unexpected_scan_error(
6148
8
                    scan_error::invalid_scanned_value,
6149
8
                    "Too many fill characters before value, "
6150
8
                    "precision exceeded before reading value");
6151
8
            }
6152
6153
270
            const auto initial_width = specs.precision - prefix_width;
6154
270
            auto max_width_view =
6155
270
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
270
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
613k
        else {
6161
613k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
585k
                                             specs, value, loc));
6163
6164
585k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
585k
        }
6170
6171
        // Read postfix
6172
585k
        std::ptrdiff_t postfix_width = 0;
6173
585k
        if (it != rng.end()) {
6174
580k
            SCN_TRY(postfix_result,
6175
580k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
580k
                                 rd.skip_ws_before_read(), prefix_width,
6177
580k
                                 value_width));
6178
580k
            std::tie(it, postfix_width) = postfix_result;
6179
580k
        }
6180
6181
585k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
585k
                                                 value_width, postfix_width);
6183
585k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
585k
        return it;
6188
585k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
626k
    {
6124
626k
        const bool need_skipped_width =
6125
626k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
626k
        auto it = rng.begin();
6129
626k
        std::ptrdiff_t prefix_width = 0;
6130
626k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
626k
        else {
6138
626k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
619k
            std::tie(it, prefix_width) = prefix_result;
6140
619k
        }
6141
619k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
619k
        std::ptrdiff_t value_width = 0;
6145
619k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
619k
        else {
6161
619k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
592k
                                             specs, value, loc));
6163
6164
592k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
592k
        }
6170
6171
        // Read postfix
6172
592k
        std::ptrdiff_t postfix_width = 0;
6173
592k
        if (it != rng.end()) {
6174
586k
            SCN_TRY(postfix_result,
6175
586k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
586k
                                 rd.skip_ws_before_read(), prefix_width,
6177
586k
                                 value_width));
6178
586k
            std::tie(it, postfix_width) = postfix_result;
6179
586k
        }
6180
6181
592k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
592k
                                                 value_width, postfix_width);
6183
592k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
592k
        return it;
6188
592k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6123
74.4k
    {
6124
74.4k
        const bool need_skipped_width =
6125
74.4k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
74.4k
        auto it = rng.begin();
6129
74.4k
        std::ptrdiff_t prefix_width = 0;
6130
74.4k
        if (specs.precision != 0) {
6131
612
            auto max_width_view = take_width(rng, specs.precision);
6132
612
            SCN_TRY(prefix_result,
6133
600
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
600
            it = prefix_result.first.base();
6135
600
            prefix_width = prefix_result.second;
6136
600
        }
6137
73.8k
        else {
6138
73.8k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
72.8k
            std::tie(it, prefix_width) = prefix_result;
6140
72.8k
        }
6141
73.4k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
73.4k
        std::ptrdiff_t value_width = 0;
6145
73.4k
        if (specs.precision != 0) {
6146
600
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
594
            const auto initial_width = specs.precision - prefix_width;
6154
594
            auto max_width_view =
6155
594
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
594
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
320
            it = w_it.base();
6158
320
            value_width = initial_width - w_it.count();
6159
320
        }
6160
72.8k
        else {
6161
72.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
67.3k
                                             specs, value, loc));
6163
6164
67.3k
            if (need_skipped_width) {
6165
176
                value_width = calculate_text_width(
6166
176
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
176
                        .view());
6168
176
            }
6169
67.3k
        }
6170
6171
        // Read postfix
6172
67.6k
        std::ptrdiff_t postfix_width = 0;
6173
67.6k
        if (it != rng.end()) {
6174
66.8k
            SCN_TRY(postfix_result,
6175
66.8k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
66.8k
                                 rd.skip_ws_before_read(), prefix_width,
6177
66.8k
                                 value_width));
6178
66.8k
            std::tie(it, postfix_width) = postfix_result;
6179
66.8k
        }
6180
6181
67.6k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
67.6k
                                                 value_width, postfix_width);
6183
67.6k
            !e) {
6184
90
            return unexpected(e);
6185
90
        }
6186
6187
67.5k
        return it;
6188
67.6k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
74.4k
    {
6124
74.4k
        const bool need_skipped_width =
6125
74.4k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
74.4k
        auto it = rng.begin();
6129
74.4k
        std::ptrdiff_t prefix_width = 0;
6130
74.4k
        if (specs.precision != 0) {
6131
612
            auto max_width_view = take_width(rng, specs.precision);
6132
612
            SCN_TRY(prefix_result,
6133
600
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
600
            it = prefix_result.first.base();
6135
600
            prefix_width = prefix_result.second;
6136
600
        }
6137
73.8k
        else {
6138
73.8k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
72.8k
            std::tie(it, prefix_width) = prefix_result;
6140
72.8k
        }
6141
73.4k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
73.4k
        std::ptrdiff_t value_width = 0;
6145
73.4k
        if (specs.precision != 0) {
6146
600
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
594
            const auto initial_width = specs.precision - prefix_width;
6154
594
            auto max_width_view =
6155
594
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
594
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
320
            it = w_it.base();
6158
320
            value_width = initial_width - w_it.count();
6159
320
        }
6160
72.8k
        else {
6161
72.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
67.3k
                                             specs, value, loc));
6163
6164
67.3k
            if (need_skipped_width) {
6165
176
                value_width = calculate_text_width(
6166
176
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
176
                        .view());
6168
176
            }
6169
67.3k
        }
6170
6171
        // Read postfix
6172
67.6k
        std::ptrdiff_t postfix_width = 0;
6173
67.6k
        if (it != rng.end()) {
6174
66.8k
            SCN_TRY(postfix_result,
6175
66.8k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
66.8k
                                 rd.skip_ws_before_read(), prefix_width,
6177
66.8k
                                 value_width));
6178
66.8k
            std::tie(it, postfix_width) = postfix_result;
6179
66.8k
        }
6180
6181
67.6k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
67.6k
                                                 value_width, postfix_width);
6183
67.6k
            !e) {
6184
90
            return unexpected(e);
6185
90
        }
6186
6187
67.5k
        return it;
6188
67.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
4.98k
    {
6124
4.98k
        const bool need_skipped_width =
6125
4.98k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
4.98k
        auto it = rng.begin();
6129
4.98k
        std::ptrdiff_t prefix_width = 0;
6130
4.98k
        if (specs.precision != 0) {
6131
612
            auto max_width_view = take_width(rng, specs.precision);
6132
612
            SCN_TRY(prefix_result,
6133
600
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
600
            it = prefix_result.first.base();
6135
600
            prefix_width = prefix_result.second;
6136
600
        }
6137
4.37k
        else {
6138
4.37k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
4.37k
            std::tie(it, prefix_width) = prefix_result;
6140
4.37k
        }
6141
4.97k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
4.97k
        std::ptrdiff_t value_width = 0;
6145
4.97k
        if (specs.precision != 0) {
6146
600
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
594
            const auto initial_width = specs.precision - prefix_width;
6154
594
            auto max_width_view =
6155
594
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
594
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
320
            it = w_it.base();
6158
320
            value_width = initial_width - w_it.count();
6159
320
        }
6160
4.37k
        else {
6161
4.37k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
1.30k
                                             specs, value, loc));
6163
6164
1.30k
            if (need_skipped_width) {
6165
176
                value_width = calculate_text_width(
6166
176
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
176
                        .view());
6168
176
            }
6169
1.30k
        }
6170
6171
        // Read postfix
6172
1.62k
        std::ptrdiff_t postfix_width = 0;
6173
1.62k
        if (it != rng.end()) {
6174
1.26k
            SCN_TRY(postfix_result,
6175
1.26k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
1.26k
                                 rd.skip_ws_before_read(), prefix_width,
6177
1.26k
                                 value_width));
6178
1.26k
            std::tie(it, postfix_width) = postfix_result;
6179
1.26k
        }
6180
6181
1.62k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
1.62k
                                                 value_width, postfix_width);
6183
1.62k
            !e) {
6184
90
            return unexpected(e);
6185
90
        }
6186
6187
1.53k
        return it;
6188
1.62k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.1k
    {
6124
47.1k
        const bool need_skipped_width =
6125
47.1k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.1k
        auto it = rng.begin();
6129
47.1k
        std::ptrdiff_t prefix_width = 0;
6130
47.1k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.1k
        else {
6138
47.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
460
                                             specs, value, loc));
6163
6164
460
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
460
        }
6170
6171
        // Read postfix
6172
460
        std::ptrdiff_t postfix_width = 0;
6173
460
        if (it != rng.end()) {
6174
292
            SCN_TRY(postfix_result,
6175
292
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
292
                                 rd.skip_ws_before_read(), prefix_width,
6177
292
                                 value_width));
6178
292
            std::tie(it, postfix_width) = postfix_result;
6179
292
        }
6180
6181
460
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
460
                                                 value_width, postfix_width);
6183
460
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
460
        return it;
6188
460
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.7k
    {
6124
47.7k
        const bool need_skipped_width =
6125
47.7k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.7k
        auto it = rng.begin();
6129
47.7k
        std::ptrdiff_t prefix_width = 0;
6130
47.7k
        if (specs.precision != 0) {
6131
124
            auto max_width_view = take_width(rng, specs.precision);
6132
124
            SCN_TRY(prefix_result,
6133
124
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
124
            it = prefix_result.first.base();
6135
124
            prefix_width = prefix_result.second;
6136
124
        }
6137
47.5k
        else {
6138
47.5k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
47.2k
            std::tie(it, prefix_width) = prefix_result;
6140
47.2k
        }
6141
47.3k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
47.3k
        std::ptrdiff_t value_width = 0;
6145
47.3k
        if (specs.precision != 0) {
6146
124
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
122
            const auto initial_width = specs.precision - prefix_width;
6154
122
            auto max_width_view =
6155
122
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
122
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
47.2k
        else {
6161
47.2k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
546
                                             specs, value, loc));
6163
6164
546
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
546
        }
6170
6171
        // Read postfix
6172
546
        std::ptrdiff_t postfix_width = 0;
6173
546
        if (it != rng.end()) {
6174
366
            SCN_TRY(postfix_result,
6175
366
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
366
                                 rd.skip_ws_before_read(), prefix_width,
6177
366
                                 value_width));
6178
366
            std::tie(it, postfix_width) = postfix_result;
6179
366
        }
6180
6181
546
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
546
                                                 value_width, postfix_width);
6183
546
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
546
        return it;
6188
546
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.3k
    {
6124
47.3k
        const bool need_skipped_width =
6125
47.3k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.3k
        auto it = rng.begin();
6129
47.3k
        std::ptrdiff_t prefix_width = 0;
6130
47.3k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.3k
        else {
6138
47.3k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
47.0k
            std::tie(it, prefix_width) = prefix_result;
6140
47.0k
        }
6141
47.0k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
47.0k
        std::ptrdiff_t value_width = 0;
6145
47.0k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
47.0k
        else {
6161
47.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
654
                                             specs, value, loc));
6163
6164
654
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
654
        }
6170
6171
        // Read postfix
6172
654
        std::ptrdiff_t postfix_width = 0;
6173
654
        if (it != rng.end()) {
6174
474
            SCN_TRY(postfix_result,
6175
474
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
474
                                 rd.skip_ws_before_read(), prefix_width,
6177
474
                                 value_width));
6178
474
            std::tie(it, postfix_width) = postfix_result;
6179
474
        }
6180
6181
654
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
654
                                                 value_width, postfix_width);
6183
654
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
654
        return it;
6188
654
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.0k
    {
6124
47.0k
        const bool need_skipped_width =
6125
47.0k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.0k
        auto it = rng.begin();
6129
47.0k
        std::ptrdiff_t prefix_width = 0;
6130
47.0k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.0k
        else {
6138
47.0k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
392
                                             specs, value, loc));
6163
6164
392
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
392
        }
6170
6171
        // Read postfix
6172
392
        std::ptrdiff_t postfix_width = 0;
6173
392
        if (it != rng.end()) {
6174
264
            SCN_TRY(postfix_result,
6175
264
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
264
                                 rd.skip_ws_before_read(), prefix_width,
6177
264
                                 value_width));
6178
264
            std::tie(it, postfix_width) = postfix_result;
6179
264
        }
6180
6181
392
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
392
                                                 value_width, postfix_width);
6183
392
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
392
        return it;
6188
392
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.6k
    {
6124
47.6k
        const bool need_skipped_width =
6125
47.6k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.6k
        auto it = rng.begin();
6129
47.6k
        std::ptrdiff_t prefix_width = 0;
6130
47.6k
        if (specs.precision != 0) {
6131
124
            auto max_width_view = take_width(rng, specs.precision);
6132
124
            SCN_TRY(prefix_result,
6133
124
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
124
            it = prefix_result.first.base();
6135
124
            prefix_width = prefix_result.second;
6136
124
        }
6137
47.4k
        else {
6138
47.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
47.1k
            std::tie(it, prefix_width) = prefix_result;
6140
47.1k
        }
6141
47.3k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
47.3k
        std::ptrdiff_t value_width = 0;
6145
47.3k
        if (specs.precision != 0) {
6146
124
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
122
            const auto initial_width = specs.precision - prefix_width;
6154
122
            auto max_width_view =
6155
122
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
122
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
47.1k
        else {
6161
47.1k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
438
                                             specs, value, loc));
6163
6164
438
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
438
        }
6170
6171
        // Read postfix
6172
438
        std::ptrdiff_t postfix_width = 0;
6173
438
        if (it != rng.end()) {
6174
310
            SCN_TRY(postfix_result,
6175
310
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
310
                                 rd.skip_ws_before_read(), prefix_width,
6177
310
                                 value_width));
6178
310
            std::tie(it, postfix_width) = postfix_result;
6179
310
        }
6180
6181
438
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
438
                                                 value_width, postfix_width);
6183
438
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
438
        return it;
6188
438
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.2k
    {
6124
47.2k
        const bool need_skipped_width =
6125
47.2k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.2k
        auto it = rng.begin();
6129
47.2k
        std::ptrdiff_t prefix_width = 0;
6130
47.2k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.2k
        else {
6138
47.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.9k
            std::tie(it, prefix_width) = prefix_result;
6140
46.9k
        }
6141
46.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.9k
        std::ptrdiff_t value_width = 0;
6145
46.9k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.9k
        else {
6161
46.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
532
                                             specs, value, loc));
6163
6164
532
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
532
        }
6170
6171
        // Read postfix
6172
532
        std::ptrdiff_t postfix_width = 0;
6173
532
        if (it != rng.end()) {
6174
404
            SCN_TRY(postfix_result,
6175
404
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
404
                                 rd.skip_ws_before_read(), prefix_width,
6177
404
                                 value_width));
6178
404
            std::tie(it, postfix_width) = postfix_result;
6179
404
        }
6180
6181
532
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
532
                                                 value_width, postfix_width);
6183
532
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
532
        return it;
6188
532
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6123
428
    {
6124
428
        const bool need_skipped_width =
6125
428
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
428
        auto it = rng.begin();
6129
428
        std::ptrdiff_t prefix_width = 0;
6130
428
        if (specs.precision != 0) {
6131
108
            auto max_width_view = take_width(rng, specs.precision);
6132
108
            SCN_TRY(prefix_result,
6133
108
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
108
            it = prefix_result.first.base();
6135
108
            prefix_width = prefix_result.second;
6136
108
        }
6137
320
        else {
6138
320
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
320
            std::tie(it, prefix_width) = prefix_result;
6140
320
        }
6141
428
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
428
        std::ptrdiff_t value_width = 0;
6145
428
        if (specs.precision != 0) {
6146
108
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
106
            const auto initial_width = specs.precision - prefix_width;
6154
106
            auto max_width_view =
6155
106
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
106
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
320
        else {
6161
320
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
570
    {
6124
570
        const bool need_skipped_width =
6125
570
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
570
        auto it = rng.begin();
6129
570
        std::ptrdiff_t prefix_width = 0;
6130
570
        if (specs.precision != 0) {
6131
178
            auto max_width_view = take_width(rng, specs.precision);
6132
178
            SCN_TRY(prefix_result,
6133
178
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
178
            it = prefix_result.first.base();
6135
178
            prefix_width = prefix_result.second;
6136
178
        }
6137
392
        else {
6138
392
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
392
            std::tie(it, prefix_width) = prefix_result;
6140
392
        }
6141
570
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
570
        std::ptrdiff_t value_width = 0;
6145
570
        if (specs.precision != 0) {
6146
178
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
176
            const auto initial_width = specs.precision - prefix_width;
6154
176
            auto max_width_view =
6155
176
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
176
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
392
        else {
6161
392
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
450
    {
6124
450
        const bool need_skipped_width =
6125
450
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
450
        auto it = rng.begin();
6129
450
        std::ptrdiff_t prefix_width = 0;
6130
450
        if (specs.precision != 0) {
6131
118
            auto max_width_view = take_width(rng, specs.precision);
6132
118
            SCN_TRY(prefix_result,
6133
118
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
118
            it = prefix_result.first.base();
6135
118
            prefix_width = prefix_result.second;
6136
118
        }
6137
332
        else {
6138
332
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
332
            std::tie(it, prefix_width) = prefix_result;
6140
332
        }
6141
450
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
450
        std::ptrdiff_t value_width = 0;
6145
450
        if (specs.precision != 0) {
6146
118
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
116
            const auto initial_width = specs.precision - prefix_width;
6154
116
            auto max_width_view =
6155
116
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
116
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
102
            it = w_it.base();
6158
102
            value_width = initial_width - w_it.count();
6159
102
        }
6160
332
        else {
6161
332
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
318
                                             specs, value, loc));
6163
6164
318
            if (need_skipped_width) {
6165
252
                value_width = calculate_text_width(
6166
252
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
252
                        .view());
6168
252
            }
6169
318
        }
6170
6171
        // Read postfix
6172
420
        std::ptrdiff_t postfix_width = 0;
6173
420
        if (it != rng.end()) {
6174
420
            SCN_TRY(postfix_result,
6175
420
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
420
                                 rd.skip_ws_before_read(), prefix_width,
6177
420
                                 value_width));
6178
420
            std::tie(it, postfix_width) = postfix_result;
6179
420
        }
6180
6181
420
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
420
                                                 value_width, postfix_width);
6183
420
            !e) {
6184
250
            return unexpected(e);
6185
250
        }
6186
6187
170
        return it;
6188
420
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
90.4k
    {
6124
90.4k
        const bool need_skipped_width =
6125
90.4k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
90.4k
        auto it = rng.begin();
6129
90.4k
        std::ptrdiff_t prefix_width = 0;
6130
90.4k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
90.4k
        else {
6138
90.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
89.9k
            std::tie(it, prefix_width) = prefix_result;
6140
89.9k
        }
6141
89.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
89.9k
        std::ptrdiff_t value_width = 0;
6145
89.9k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
89.9k
        else {
6161
89.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
21.8k
                                             specs, value, loc));
6163
6164
21.8k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
21.8k
        }
6170
6171
        // Read postfix
6172
21.8k
        std::ptrdiff_t postfix_width = 0;
6173
21.8k
        if (it != rng.end()) {
6174
21.7k
            SCN_TRY(postfix_result,
6175
21.7k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
21.7k
                                 rd.skip_ws_before_read(), prefix_width,
6177
21.7k
                                 value_width));
6178
21.7k
            std::tie(it, postfix_width) = postfix_result;
6179
21.7k
        }
6180
6181
21.8k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
21.8k
                                                 value_width, postfix_width);
6183
21.8k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
21.8k
        return it;
6188
21.8k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
91.0k
    {
6124
91.0k
        const bool need_skipped_width =
6125
91.0k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
91.0k
        auto it = rng.begin();
6129
91.0k
        std::ptrdiff_t prefix_width = 0;
6130
91.0k
        if (specs.precision != 0) {
6131
126
            auto max_width_view = take_width(rng, specs.precision);
6132
126
            SCN_TRY(prefix_result,
6133
126
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
126
            it = prefix_result.first.base();
6135
126
            prefix_width = prefix_result.second;
6136
126
        }
6137
90.9k
        else {
6138
90.9k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
90.3k
            std::tie(it, prefix_width) = prefix_result;
6140
90.3k
        }
6141
90.4k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
90.4k
        std::ptrdiff_t value_width = 0;
6145
90.4k
        if (specs.precision != 0) {
6146
126
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
124
            const auto initial_width = specs.precision - prefix_width;
6154
124
            auto max_width_view =
6155
124
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
124
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
90.3k
        else {
6161
90.3k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
21.9k
                                             specs, value, loc));
6163
6164
21.9k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
21.9k
        }
6170
6171
        // Read postfix
6172
21.9k
        std::ptrdiff_t postfix_width = 0;
6173
21.9k
        if (it != rng.end()) {
6174
21.8k
            SCN_TRY(postfix_result,
6175
21.8k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
21.8k
                                 rd.skip_ws_before_read(), prefix_width,
6177
21.8k
                                 value_width));
6178
21.8k
            std::tie(it, postfix_width) = postfix_result;
6179
21.8k
        }
6180
6181
21.9k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
21.9k
                                                 value_width, postfix_width);
6183
21.9k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
21.9k
        return it;
6188
21.9k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
90.8k
    {
6124
90.8k
        const bool need_skipped_width =
6125
90.8k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
90.8k
        auto it = rng.begin();
6129
90.8k
        std::ptrdiff_t prefix_width = 0;
6130
90.8k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
90.8k
        else {
6138
90.8k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
90.2k
            std::tie(it, prefix_width) = prefix_result;
6140
90.2k
        }
6141
90.2k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
90.2k
        std::ptrdiff_t value_width = 0;
6145
90.2k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
90.2k
        else {
6161
90.2k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
22.2k
                                             specs, value, loc));
6163
6164
22.2k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
22.2k
        }
6170
6171
        // Read postfix
6172
22.2k
        std::ptrdiff_t postfix_width = 0;
6173
22.2k
        if (it != rng.end()) {
6174
22.0k
            SCN_TRY(postfix_result,
6175
22.0k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
22.0k
                                 rd.skip_ws_before_read(), prefix_width,
6177
22.0k
                                 value_width));
6178
22.0k
            std::tie(it, postfix_width) = postfix_result;
6179
22.0k
        }
6180
6181
22.2k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
22.2k
                                                 value_width, postfix_width);
6183
22.2k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
22.2k
        return it;
6188
22.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
1.84k
    {
6124
1.84k
        const bool need_skipped_width =
6125
1.84k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
1.84k
        auto it = rng.begin();
6129
1.84k
        std::ptrdiff_t prefix_width = 0;
6130
1.84k
        if (specs.precision != 0) {
6131
178
            auto max_width_view = take_width(rng, specs.precision);
6132
178
            SCN_TRY(prefix_result,
6133
178
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
178
            it = prefix_result.first.base();
6135
178
            prefix_width = prefix_result.second;
6136
178
        }
6137
1.66k
        else {
6138
1.66k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
1.66k
            std::tie(it, prefix_width) = prefix_result;
6140
1.66k
        }
6141
1.84k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
1.84k
        std::ptrdiff_t value_width = 0;
6145
1.84k
        if (specs.precision != 0) {
6146
178
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
176
            const auto initial_width = specs.precision - prefix_width;
6154
176
            auto max_width_view =
6155
176
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
176
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
84
            it = w_it.base();
6158
84
            value_width = initial_width - w_it.count();
6159
84
        }
6160
1.66k
        else {
6161
1.66k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
368
                                             specs, value, loc));
6163
6164
368
            if (need_skipped_width) {
6165
290
                value_width = calculate_text_width(
6166
290
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
290
                        .view());
6168
290
            }
6169
368
        }
6170
6171
        // Read postfix
6172
452
        std::ptrdiff_t postfix_width = 0;
6173
452
        if (it != rng.end()) {
6174
220
            SCN_TRY(postfix_result,
6175
220
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
220
                                 rd.skip_ws_before_read(), prefix_width,
6177
220
                                 value_width));
6178
220
            std::tie(it, postfix_width) = postfix_result;
6179
220
        }
6180
6181
452
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
452
                                                 value_width, postfix_width);
6183
452
            !e) {
6184
62
            return unexpected(e);
6185
62
        }
6186
6187
390
        return it;
6188
452
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6123
9.98M
    {
6124
9.98M
        const bool need_skipped_width =
6125
9.98M
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
9.98M
        auto it = rng.begin();
6129
9.98M
        std::ptrdiff_t prefix_width = 0;
6130
9.98M
        if (specs.precision != 0) {
6131
178
            auto max_width_view = take_width(rng, specs.precision);
6132
178
            SCN_TRY(prefix_result,
6133
178
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
178
            it = prefix_result.first.base();
6135
178
            prefix_width = prefix_result.second;
6136
178
        }
6137
9.98M
        else {
6138
9.98M
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
9.97M
            std::tie(it, prefix_width) = prefix_result;
6140
9.97M
        }
6141
9.97M
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
9.97M
        std::ptrdiff_t value_width = 0;
6145
9.97M
        if (specs.precision != 0) {
6146
178
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
176
            const auto initial_width = specs.precision - prefix_width;
6154
176
            auto max_width_view =
6155
176
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
176
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
84
            it = w_it.base();
6158
84
            value_width = initial_width - w_it.count();
6159
84
        }
6160
9.97M
        else {
6161
9.97M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
9.97M
                                             specs, value, loc));
6163
6164
9.97M
            if (need_skipped_width) {
6165
290
                value_width = calculate_text_width(
6166
290
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
290
                        .view());
6168
290
            }
6169
9.97M
        }
6170
6171
        // Read postfix
6172
9.97M
        std::ptrdiff_t postfix_width = 0;
6173
9.97M
        if (it != rng.end()) {
6174
9.97M
            SCN_TRY(postfix_result,
6175
9.97M
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
9.97M
                                 rd.skip_ws_before_read(), prefix_width,
6177
9.97M
                                 value_width));
6178
9.97M
            std::tie(it, postfix_width) = postfix_result;
6179
9.97M
        }
6180
6181
9.97M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
9.97M
                                                 value_width, postfix_width);
6183
9.97M
            !e) {
6184
62
            return unexpected(e);
6185
62
        }
6186
6187
9.97M
        return it;
6188
9.97M
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
9.98M
    {
6124
9.98M
        const bool need_skipped_width =
6125
9.98M
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
9.98M
        auto it = rng.begin();
6129
9.98M
        std::ptrdiff_t prefix_width = 0;
6130
9.98M
        if (specs.precision != 0) {
6131
178
            auto max_width_view = take_width(rng, specs.precision);
6132
178
            SCN_TRY(prefix_result,
6133
178
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
178
            it = prefix_result.first.base();
6135
178
            prefix_width = prefix_result.second;
6136
178
        }
6137
9.98M
        else {
6138
9.98M
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
9.97M
            std::tie(it, prefix_width) = prefix_result;
6140
9.97M
        }
6141
9.97M
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
9.97M
        std::ptrdiff_t value_width = 0;
6145
9.97M
        if (specs.precision != 0) {
6146
178
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
176
            const auto initial_width = specs.precision - prefix_width;
6154
176
            auto max_width_view =
6155
176
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
176
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
84
            it = w_it.base();
6158
84
            value_width = initial_width - w_it.count();
6159
84
        }
6160
9.97M
        else {
6161
9.97M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
9.97M
                                             specs, value, loc));
6163
6164
9.97M
            if (need_skipped_width) {
6165
290
                value_width = calculate_text_width(
6166
290
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
290
                        .view());
6168
290
            }
6169
9.97M
        }
6170
6171
        // Read postfix
6172
9.97M
        std::ptrdiff_t postfix_width = 0;
6173
9.97M
        if (it != rng.end()) {
6174
9.97M
            SCN_TRY(postfix_result,
6175
9.97M
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
9.97M
                                 rd.skip_ws_before_read(), prefix_width,
6177
9.97M
                                 value_width));
6178
9.97M
            std::tie(it, postfix_width) = postfix_result;
6179
9.97M
        }
6180
6181
9.97M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
9.97M
                                                 value_width, postfix_width);
6183
9.97M
            !e) {
6184
62
            return unexpected(e);
6185
62
        }
6186
6187
9.97M
        return it;
6188
9.97M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
6189
6190
    template <typename T>
6191
    scan_expected<iterator> operator()(T& value)
6192
38.4M
    {
6193
38.4M
        if constexpr (!detail::is_type_disabled<T> &&
6194
38.4M
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
14.2M
            auto rd = make_reader<T, char_type>();
6198
24.2M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.0k
                return unexpected(e);
6200
47.0k
            }
6201
6202
24.1M
            return impl(rd, range, value);
6203
24.2M
        }
6204
14.2M
        else if constexpr (!detail::is_type_disabled<T>) {
6205
14.2M
            auto rd = make_reader<T, char_type>();
6206
14.2M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.16k
                return unexpected(e);
6208
5.16k
            }
6209
6210
14.2M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
14.2M
                specs.width != 0) {
6212
14.2M
                return impl(rd, range, value);
6213
14.2M
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
38.4M
        else {
6221
38.4M
            SCN_EXPECT(false);
6222
38.4M
            SCN_UNREACHABLE;
6223
38.4M
        }
6224
38.4M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
6192
248k
    {
6193
248k
        if constexpr (!detail::is_type_disabled<T> &&
6194
248k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
248k
            auto rd = make_reader<T, char_type>();
6198
248k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
248k
                return unexpected(e);
6200
248k
            }
6201
6202
248k
            return impl(rd, range, value);
6203
248k
        }
6204
248k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
248k
            auto rd = make_reader<T, char_type>();
6206
248k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
248k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
248k
                specs.width != 0) {
6212
248k
                return impl(rd, range, value);
6213
248k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
248k
        else {
6221
248k
            SCN_EXPECT(false);
6222
248k
            SCN_UNREACHABLE;
6223
248k
        }
6224
248k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
6192
322k
    {
6193
322k
        if constexpr (!detail::is_type_disabled<T> &&
6194
322k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
322k
            auto rd = make_reader<T, char_type>();
6198
322k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
322k
                return unexpected(e);
6200
322k
            }
6201
6202
322k
            return impl(rd, range, value);
6203
322k
        }
6204
322k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
322k
            auto rd = make_reader<T, char_type>();
6206
322k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
322k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
322k
                specs.width != 0) {
6212
322k
                return impl(rd, range, value);
6213
322k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
322k
        else {
6221
322k
            SCN_EXPECT(false);
6222
322k
            SCN_UNREACHABLE;
6223
322k
        }
6224
322k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
6192
328k
    {
6193
328k
        if constexpr (!detail::is_type_disabled<T> &&
6194
328k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
328k
            auto rd = make_reader<T, char_type>();
6198
328k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
328k
                return unexpected(e);
6200
328k
            }
6201
6202
328k
            return impl(rd, range, value);
6203
328k
        }
6204
328k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
328k
            auto rd = make_reader<T, char_type>();
6206
328k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
328k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
328k
                specs.width != 0) {
6212
328k
                return impl(rd, range, value);
6213
328k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
328k
        else {
6221
328k
            SCN_EXPECT(false);
6222
328k
            SCN_UNREACHABLE;
6223
328k
        }
6224
328k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6192
243k
    {
6193
243k
        if constexpr (!detail::is_type_disabled<T> &&
6194
243k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
243k
            auto rd = make_reader<T, char_type>();
6198
243k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
243k
                return unexpected(e);
6200
243k
            }
6201
6202
243k
            return impl(rd, range, value);
6203
243k
        }
6204
243k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
243k
            auto rd = make_reader<T, char_type>();
6206
243k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
243k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
243k
                specs.width != 0) {
6212
243k
                return impl(rd, range, value);
6213
243k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
243k
        else {
6221
243k
            SCN_EXPECT(false);
6222
243k
            SCN_UNREACHABLE;
6223
243k
        }
6224
243k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
277k
    {
6193
277k
        if constexpr (!detail::is_type_disabled<T> &&
6194
277k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
277k
            auto rd = make_reader<T, char_type>();
6198
277k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
277k
                return unexpected(e);
6200
277k
            }
6201
6202
277k
            return impl(rd, range, value);
6203
277k
        }
6204
277k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
277k
            auto rd = make_reader<T, char_type>();
6206
277k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
277k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
277k
                specs.width != 0) {
6212
277k
                return impl(rd, range, value);
6213
277k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
277k
        else {
6221
277k
            SCN_EXPECT(false);
6222
277k
            SCN_UNREACHABLE;
6223
277k
        }
6224
277k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6192
280k
    {
6193
280k
        if constexpr (!detail::is_type_disabled<T> &&
6194
280k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
280k
            auto rd = make_reader<T, char_type>();
6198
280k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
280k
                return unexpected(e);
6200
280k
            }
6201
6202
280k
            return impl(rd, range, value);
6203
280k
        }
6204
280k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
280k
            auto rd = make_reader<T, char_type>();
6206
280k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
280k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
280k
                specs.width != 0) {
6212
280k
                return impl(rd, range, value);
6213
280k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
280k
        else {
6221
280k
            SCN_EXPECT(false);
6222
280k
            SCN_UNREACHABLE;
6223
280k
        }
6224
280k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
6192
606k
    {
6193
606k
        if constexpr (!detail::is_type_disabled<T> &&
6194
606k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
606k
            auto rd = make_reader<T, char_type>();
6198
606k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
606k
                return unexpected(e);
6200
606k
            }
6201
6202
606k
            return impl(rd, range, value);
6203
606k
        }
6204
606k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
606k
            auto rd = make_reader<T, char_type>();
6206
606k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
606k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
606k
                specs.width != 0) {
6212
606k
                return impl(rd, range, value);
6213
606k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
606k
        else {
6221
606k
            SCN_EXPECT(false);
6222
606k
            SCN_UNREACHABLE;
6223
606k
        }
6224
606k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
6192
648k
    {
6193
648k
        if constexpr (!detail::is_type_disabled<T> &&
6194
648k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
648k
            auto rd = make_reader<T, char_type>();
6198
648k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
648k
                return unexpected(e);
6200
648k
            }
6201
6202
648k
            return impl(rd, range, value);
6203
648k
        }
6204
648k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
648k
            auto rd = make_reader<T, char_type>();
6206
648k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
648k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
648k
                specs.width != 0) {
6212
648k
                return impl(rd, range, value);
6213
648k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
648k
        else {
6221
648k
            SCN_EXPECT(false);
6222
648k
            SCN_UNREACHABLE;
6223
648k
        }
6224
648k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
6192
655k
    {
6193
655k
        if constexpr (!detail::is_type_disabled<T> &&
6194
655k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
655k
            auto rd = make_reader<T, char_type>();
6198
655k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
655k
                return unexpected(e);
6200
655k
            }
6201
6202
655k
            return impl(rd, range, value);
6203
655k
        }
6204
655k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
655k
            auto rd = make_reader<T, char_type>();
6206
655k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
655k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
655k
                specs.width != 0) {
6212
655k
                return impl(rd, range, value);
6213
655k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
655k
        else {
6221
655k
            SCN_EXPECT(false);
6222
655k
            SCN_UNREACHABLE;
6223
655k
        }
6224
655k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6192
72.5k
    {
6193
72.5k
        if constexpr (!detail::is_type_disabled<T> &&
6194
72.5k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
72.5k
            auto rd = make_reader<T, char_type>();
6198
72.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
72.5k
                return unexpected(e);
6200
72.5k
            }
6201
6202
72.5k
            return impl(rd, range, value);
6203
72.5k
        }
6204
72.5k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
72.5k
            auto rd = make_reader<T, char_type>();
6206
72.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.72k
                return unexpected(e);
6208
1.72k
            }
6209
6210
70.8k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
70.8k
                specs.width != 0) {
6212
70.8k
                return impl(rd, range, value);
6213
70.8k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
72.5k
        else {
6221
72.5k
            SCN_EXPECT(false);
6222
72.5k
            SCN_UNREACHABLE;
6223
72.5k
        }
6224
72.5k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
6192
47.1k
    {
6193
47.1k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.1k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.1k
            auto rd = make_reader<T, char_type>();
6198
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.1k
                return unexpected(e);
6200
47.1k
            }
6201
6202
47.1k
            return impl(rd, range, value);
6203
47.1k
        }
6204
47.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.1k
            auto rd = make_reader<T, char_type>();
6206
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.1k
                specs.width != 0) {
6212
47.1k
                return impl(rd, range, value);
6213
47.1k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.1k
        else {
6221
47.1k
            SCN_EXPECT(false);
6222
47.1k
            SCN_UNREACHABLE;
6223
47.1k
        }
6224
47.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
6192
47.2k
    {
6193
47.2k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.2k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.2k
            auto rd = make_reader<T, char_type>();
6198
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.2k
                return unexpected(e);
6200
47.2k
            }
6201
6202
47.2k
            return impl(rd, range, value);
6203
47.2k
        }
6204
47.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.2k
            auto rd = make_reader<T, char_type>();
6206
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.2k
                specs.width != 0) {
6212
47.2k
                return impl(rd, range, value);
6213
47.2k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.2k
        else {
6221
47.2k
            SCN_EXPECT(false);
6222
47.2k
            SCN_UNREACHABLE;
6223
47.2k
        }
6224
47.2k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
6192
47.3k
    {
6193
47.3k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.3k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.3k
            auto rd = make_reader<T, char_type>();
6198
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.3k
                return unexpected(e);
6200
47.3k
            }
6201
6202
47.3k
            return impl(rd, range, value);
6203
47.3k
        }
6204
47.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.3k
            auto rd = make_reader<T, char_type>();
6206
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.3k
                specs.width != 0) {
6212
47.3k
                return impl(rd, range, value);
6213
47.3k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.3k
        else {
6221
47.3k
            SCN_EXPECT(false);
6222
47.3k
            SCN_UNREACHABLE;
6223
47.3k
        }
6224
47.3k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6192
47.0k
    {
6193
47.0k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.0k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.0k
            auto rd = make_reader<T, char_type>();
6198
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.0k
                return unexpected(e);
6200
47.0k
            }
6201
6202
47.0k
            return impl(rd, range, value);
6203
47.0k
        }
6204
47.0k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.0k
            auto rd = make_reader<T, char_type>();
6206
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.0k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.0k
                specs.width != 0) {
6212
47.0k
                return impl(rd, range, value);
6213
47.0k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.0k
        else {
6221
47.0k
            SCN_EXPECT(false);
6222
47.0k
            SCN_UNREACHABLE;
6223
47.0k
        }
6224
47.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
47.1k
    {
6193
47.1k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.1k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.1k
            auto rd = make_reader<T, char_type>();
6198
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.1k
                return unexpected(e);
6200
47.1k
            }
6201
6202
47.1k
            return impl(rd, range, value);
6203
47.1k
        }
6204
47.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.1k
            auto rd = make_reader<T, char_type>();
6206
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.1k
                specs.width != 0) {
6212
47.1k
                return impl(rd, range, value);
6213
47.1k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.1k
        else {
6221
47.1k
            SCN_EXPECT(false);
6222
47.1k
            SCN_UNREACHABLE;
6223
47.1k
        }
6224
47.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6192
47.2k
    {
6193
47.2k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.2k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.2k
            auto rd = make_reader<T, char_type>();
6198
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.2k
                return unexpected(e);
6200
47.2k
            }
6201
6202
47.2k
            return impl(rd, range, value);
6203
47.2k
        }
6204
47.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.2k
            auto rd = make_reader<T, char_type>();
6206
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.2k
                specs.width != 0) {
6212
47.2k
                return impl(rd, range, value);
6213
47.2k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.2k
        else {
6221
47.2k
            SCN_EXPECT(false);
6222
47.2k
            SCN_UNREACHABLE;
6223
47.2k
        }
6224
47.2k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
6192
90.4k
    {
6193
90.4k
        if constexpr (!detail::is_type_disabled<T> &&
6194
90.4k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
90.4k
            auto rd = make_reader<T, char_type>();
6198
90.4k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
90.4k
                return unexpected(e);
6200
90.4k
            }
6201
6202
90.4k
            return impl(rd, range, value);
6203
90.4k
        }
6204
90.4k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
90.4k
            auto rd = make_reader<T, char_type>();
6206
90.4k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
90.4k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
90.4k
                specs.width != 0) {
6212
90.4k
                return impl(rd, range, value);
6213
90.4k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
90.4k
        else {
6221
90.4k
            SCN_EXPECT(false);
6222
90.4k
            SCN_UNREACHABLE;
6223
90.4k
        }
6224
90.4k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
6192
90.5k
    {
6193
90.5k
        if constexpr (!detail::is_type_disabled<T> &&
6194
90.5k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
90.5k
            auto rd = make_reader<T, char_type>();
6198
90.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
90.5k
                return unexpected(e);
6200
90.5k
            }
6201
6202
90.5k
            return impl(rd, range, value);
6203
90.5k
        }
6204
90.5k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
90.5k
            auto rd = make_reader<T, char_type>();
6206
90.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
90.5k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
90.5k
                specs.width != 0) {
6212
90.5k
                return impl(rd, range, value);
6213
90.5k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
90.5k
        else {
6221
90.5k
            SCN_EXPECT(false);
6222
90.5k
            SCN_UNREACHABLE;
6223
90.5k
        }
6224
90.5k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
6192
90.7k
    {
6193
90.7k
        if constexpr (!detail::is_type_disabled<T> &&
6194
90.7k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
90.7k
            auto rd = make_reader<T, char_type>();
6198
90.7k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
90.7k
                return unexpected(e);
6200
90.7k
            }
6201
6202
90.7k
            return impl(rd, range, value);
6203
90.7k
        }
6204
90.7k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
90.7k
            auto rd = make_reader<T, char_type>();
6206
90.7k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
90.7k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
90.7k
                specs.width != 0) {
6212
90.7k
                return impl(rd, range, value);
6213
90.7k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
90.7k
        else {
6221
90.7k
            SCN_EXPECT(false);
6222
90.7k
            SCN_UNREACHABLE;
6223
90.7k
        }
6224
90.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6192
9.98M
    {
6193
9.98M
        if constexpr (!detail::is_type_disabled<T> &&
6194
9.98M
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
9.98M
            auto rd = make_reader<T, char_type>();
6198
9.98M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
9.98M
                return unexpected(e);
6200
9.98M
            }
6201
6202
9.98M
            return impl(rd, range, value);
6203
9.98M
        }
6204
9.98M
        else if constexpr (!detail::is_type_disabled<T>) {
6205
9.98M
            auto rd = make_reader<T, char_type>();
6206
9.98M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
3.44k
                return unexpected(e);
6208
3.44k
            }
6209
6210
9.97M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
9.97M
                specs.width != 0) {
6212
9.97M
                return impl(rd, range, value);
6213
9.97M
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
9.98M
        else {
6221
9.98M
            SCN_EXPECT(false);
6222
9.98M
            SCN_UNREACHABLE;
6223
9.98M
        }
6224
9.98M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
6192
247k
    {
6193
247k
        if constexpr (!detail::is_type_disabled<T> &&
6194
247k
                      std::is_same_v<
6195
0
                          context_type,
6196
247k
                          basic_contiguous_scan_context<char_type>>) {
6197
247k
            auto rd = make_reader<T, char_type>();
6198
247k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
247k
            return impl(rd, range, value);
6203
247k
        }
6204
247k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
247k
            auto rd = make_reader<T, char_type>();
6206
247k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
247k
                return unexpected(e);
6208
247k
            }
6209
6210
247k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
247k
                specs.width != 0) {
6212
247k
                return impl(rd, range, value);
6213
247k
            }
6214
6215
247k
            auto crange = get_as_contiguous(range);
6216
247k
            SCN_TRY(it, impl(rd, crange, value));
6217
247k
            return ranges::next(range.begin(),
6218
247k
                                ranges::distance(crange.begin(), it));
6219
247k
        }
6220
247k
        else {
6221
247k
            SCN_EXPECT(false);
6222
247k
            SCN_UNREACHABLE;
6223
247k
        }
6224
247k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
6192
325k
    {
6193
325k
        if constexpr (!detail::is_type_disabled<T> &&
6194
325k
                      std::is_same_v<
6195
0
                          context_type,
6196
325k
                          basic_contiguous_scan_context<char_type>>) {
6197
325k
            auto rd = make_reader<T, char_type>();
6198
325k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.61k
                return unexpected(e);
6200
4.61k
            }
6201
6202
321k
            return impl(rd, range, value);
6203
325k
        }
6204
325k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
325k
            auto rd = make_reader<T, char_type>();
6206
325k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
325k
                return unexpected(e);
6208
325k
            }
6209
6210
325k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
325k
                specs.width != 0) {
6212
325k
                return impl(rd, range, value);
6213
325k
            }
6214
6215
325k
            auto crange = get_as_contiguous(range);
6216
325k
            SCN_TRY(it, impl(rd, crange, value));
6217
325k
            return ranges::next(range.begin(),
6218
325k
                                ranges::distance(crange.begin(), it));
6219
325k
        }
6220
325k
        else {
6221
325k
            SCN_EXPECT(false);
6222
325k
            SCN_UNREACHABLE;
6223
325k
        }
6224
325k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
6192
326k
    {
6193
326k
        if constexpr (!detail::is_type_disabled<T> &&
6194
326k
                      std::is_same_v<
6195
0
                          context_type,
6196
326k
                          basic_contiguous_scan_context<char_type>>) {
6197
326k
            auto rd = make_reader<T, char_type>();
6198
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
326k
            return impl(rd, range, value);
6203
326k
        }
6204
326k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
326k
            auto rd = make_reader<T, char_type>();
6206
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
326k
                return unexpected(e);
6208
326k
            }
6209
6210
326k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
326k
                specs.width != 0) {
6212
326k
                return impl(rd, range, value);
6213
326k
            }
6214
6215
326k
            auto crange = get_as_contiguous(range);
6216
326k
            SCN_TRY(it, impl(rd, crange, value));
6217
326k
            return ranges::next(range.begin(),
6218
326k
                                ranges::distance(crange.begin(), it));
6219
326k
        }
6220
326k
        else {
6221
326k
            SCN_EXPECT(false);
6222
326k
            SCN_UNREACHABLE;
6223
326k
        }
6224
326k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6192
242k
    {
6193
242k
        if constexpr (!detail::is_type_disabled<T> &&
6194
242k
                      std::is_same_v<
6195
0
                          context_type,
6196
242k
                          basic_contiguous_scan_context<char_type>>) {
6197
242k
            auto rd = make_reader<T, char_type>();
6198
242k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
242k
            return impl(rd, range, value);
6203
242k
        }
6204
242k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
242k
            auto rd = make_reader<T, char_type>();
6206
242k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
242k
                return unexpected(e);
6208
242k
            }
6209
6210
242k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
242k
                specs.width != 0) {
6212
242k
                return impl(rd, range, value);
6213
242k
            }
6214
6215
242k
            auto crange = get_as_contiguous(range);
6216
242k
            SCN_TRY(it, impl(rd, crange, value));
6217
242k
            return ranges::next(range.begin(),
6218
242k
                                ranges::distance(crange.begin(), it));
6219
242k
        }
6220
242k
        else {
6221
242k
            SCN_EXPECT(false);
6222
242k
            SCN_UNREACHABLE;
6223
242k
        }
6224
242k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
281k
    {
6193
281k
        if constexpr (!detail::is_type_disabled<T> &&
6194
281k
                      std::is_same_v<
6195
0
                          context_type,
6196
281k
                          basic_contiguous_scan_context<char_type>>) {
6197
281k
            auto rd = make_reader<T, char_type>();
6198
281k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.61k
                return unexpected(e);
6200
4.61k
            }
6201
6202
276k
            return impl(rd, range, value);
6203
281k
        }
6204
281k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
281k
            auto rd = make_reader<T, char_type>();
6206
281k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
281k
                return unexpected(e);
6208
281k
            }
6209
6210
281k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
281k
                specs.width != 0) {
6212
281k
                return impl(rd, range, value);
6213
281k
            }
6214
6215
281k
            auto crange = get_as_contiguous(range);
6216
281k
            SCN_TRY(it, impl(rd, crange, value));
6217
281k
            return ranges::next(range.begin(),
6218
281k
                                ranges::distance(crange.begin(), it));
6219
281k
        }
6220
281k
        else {
6221
281k
            SCN_EXPECT(false);
6222
281k
            SCN_UNREACHABLE;
6223
281k
        }
6224
281k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6192
278k
    {
6193
278k
        if constexpr (!detail::is_type_disabled<T> &&
6194
278k
                      std::is_same_v<
6195
0
                          context_type,
6196
278k
                          basic_contiguous_scan_context<char_type>>) {
6197
278k
            auto rd = make_reader<T, char_type>();
6198
278k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
278k
            return impl(rd, range, value);
6203
278k
        }
6204
278k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
278k
            auto rd = make_reader<T, char_type>();
6206
278k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
278k
                return unexpected(e);
6208
278k
            }
6209
6210
278k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
278k
                specs.width != 0) {
6212
278k
                return impl(rd, range, value);
6213
278k
            }
6214
6215
278k
            auto crange = get_as_contiguous(range);
6216
278k
            SCN_TRY(it, impl(rd, crange, value));
6217
278k
            return ranges::next(range.begin(),
6218
278k
                                ranges::distance(crange.begin(), it));
6219
278k
        }
6220
278k
        else {
6221
278k
            SCN_EXPECT(false);
6222
278k
            SCN_UNREACHABLE;
6223
278k
        }
6224
278k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<void*>(void*&)
Line
Count
Source
6192
5.10k
    {
6193
5.10k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.10k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.10k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.10k
            auto rd = make_reader<T, char_type>();
6198
5.10k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.64k
                return unexpected(e);
6200
4.64k
            }
6201
6202
466
            return impl(rd, range, value);
6203
5.10k
        }
6204
5.10k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.10k
            auto rd = make_reader<T, char_type>();
6206
5.10k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.10k
                return unexpected(e);
6208
5.10k
            }
6209
6210
5.10k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.10k
                specs.width != 0) {
6212
5.10k
                return impl(rd, range, value);
6213
5.10k
            }
6214
6215
5.10k
            auto crange = get_as_contiguous(range);
6216
5.10k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.10k
            return ranges::next(range.begin(),
6218
5.10k
                                ranges::distance(crange.begin(), it));
6219
5.10k
        }
6220
5.10k
        else {
6221
5.10k
            SCN_EXPECT(false);
6222
5.10k
            SCN_UNREACHABLE;
6223
5.10k
        }
6224
5.10k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<bool>(bool&)
Line
Count
Source
6192
5.14k
    {
6193
5.14k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.14k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.14k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.14k
            auto rd = make_reader<T, char_type>();
6198
5.14k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.42k
                return unexpected(e);
6200
4.42k
            }
6201
6202
716
            return impl(rd, range, value);
6203
5.14k
        }
6204
5.14k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.14k
            auto rd = make_reader<T, char_type>();
6206
5.14k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.14k
                return unexpected(e);
6208
5.14k
            }
6209
6210
5.14k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.14k
                specs.width != 0) {
6212
5.14k
                return impl(rd, range, value);
6213
5.14k
            }
6214
6215
5.14k
            auto crange = get_as_contiguous(range);
6216
5.14k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.14k
            return ranges::next(range.begin(),
6218
5.14k
                                ranges::distance(crange.begin(), it));
6219
5.14k
        }
6220
5.14k
        else {
6221
5.14k
            SCN_EXPECT(false);
6222
5.14k
            SCN_UNREACHABLE;
6223
5.14k
        }
6224
5.14k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char>(char&)
Line
Count
Source
6192
5.10k
    {
6193
5.10k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.10k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.10k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.10k
            auto rd = make_reader<T, char_type>();
6198
5.10k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.59k
                return unexpected(e);
6200
4.59k
            }
6201
6202
510
            return impl(rd, range, value);
6203
5.10k
        }
6204
5.10k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.10k
            auto rd = make_reader<T, char_type>();
6206
5.10k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.10k
                return unexpected(e);
6208
5.10k
            }
6209
6210
5.10k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.10k
                specs.width != 0) {
6212
5.10k
                return impl(rd, range, value);
6213
5.10k
            }
6214
6215
5.10k
            auto crange = get_as_contiguous(range);
6216
5.10k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.10k
            return ranges::next(range.begin(),
6218
5.10k
                                ranges::distance(crange.begin(), it));
6219
5.10k
        }
6220
5.10k
        else {
6221
5.10k
            SCN_EXPECT(false);
6222
5.10k
            SCN_UNREACHABLE;
6223
5.10k
        }
6224
5.10k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
6192
579k
    {
6193
579k
        if constexpr (!detail::is_type_disabled<T> &&
6194
579k
                      std::is_same_v<
6195
0
                          context_type,
6196
579k
                          basic_contiguous_scan_context<char_type>>) {
6197
579k
            auto rd = make_reader<T, char_type>();
6198
579k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
579k
            return impl(rd, range, value);
6203
579k
        }
6204
579k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
579k
            auto rd = make_reader<T, char_type>();
6206
579k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
579k
                return unexpected(e);
6208
579k
            }
6209
6210
579k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
579k
                specs.width != 0) {
6212
579k
                return impl(rd, range, value);
6213
579k
            }
6214
6215
579k
            auto crange = get_as_contiguous(range);
6216
579k
            SCN_TRY(it, impl(rd, crange, value));
6217
579k
            return ranges::next(range.begin(),
6218
579k
                                ranges::distance(crange.begin(), it));
6219
579k
        }
6220
579k
        else {
6221
579k
            SCN_EXPECT(false);
6222
579k
            SCN_UNREACHABLE;
6223
579k
        }
6224
579k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
6192
624k
    {
6193
624k
        if constexpr (!detail::is_type_disabled<T> &&
6194
624k
                      std::is_same_v<
6195
0
                          context_type,
6196
624k
                          basic_contiguous_scan_context<char_type>>) {
6197
624k
            auto rd = make_reader<T, char_type>();
6198
624k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.60k
                return unexpected(e);
6200
4.60k
            }
6201
6202
620k
            return impl(rd, range, value);
6203
624k
        }
6204
624k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
624k
            auto rd = make_reader<T, char_type>();
6206
624k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
624k
                return unexpected(e);
6208
624k
            }
6209
6210
624k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
624k
                specs.width != 0) {
6212
624k
                return impl(rd, range, value);
6213
624k
            }
6214
6215
624k
            auto crange = get_as_contiguous(range);
6216
624k
            SCN_TRY(it, impl(rd, crange, value));
6217
624k
            return ranges::next(range.begin(),
6218
624k
                                ranges::distance(crange.begin(), it));
6219
624k
        }
6220
624k
        else {
6221
624k
            SCN_EXPECT(false);
6222
624k
            SCN_UNREACHABLE;
6223
624k
        }
6224
624k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
6192
626k
    {
6193
626k
        if constexpr (!detail::is_type_disabled<T> &&
6194
626k
                      std::is_same_v<
6195
0
                          context_type,
6196
626k
                          basic_contiguous_scan_context<char_type>>) {
6197
626k
            auto rd = make_reader<T, char_type>();
6198
626k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
626k
            return impl(rd, range, value);
6203
626k
        }
6204
626k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
626k
            auto rd = make_reader<T, char_type>();
6206
626k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
626k
                return unexpected(e);
6208
626k
            }
6209
6210
626k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
626k
                specs.width != 0) {
6212
626k
                return impl(rd, range, value);
6213
626k
            }
6214
6215
626k
            auto crange = get_as_contiguous(range);
6216
626k
            SCN_TRY(it, impl(rd, crange, value));
6217
626k
            return ranges::next(range.begin(),
6218
626k
                                ranges::distance(crange.begin(), it));
6219
626k
        }
6220
626k
        else {
6221
626k
            SCN_EXPECT(false);
6222
626k
            SCN_UNREACHABLE;
6223
626k
        }
6224
626k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6192
76.3k
    {
6193
76.3k
        if constexpr (!detail::is_type_disabled<T> &&
6194
76.3k
                      std::is_same_v<
6195
0
                          context_type,
6196
76.3k
                          basic_contiguous_scan_context<char_type>>) {
6197
76.3k
            auto rd = make_reader<T, char_type>();
6198
76.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.84k
                return unexpected(e);
6200
1.84k
            }
6201
6202
74.4k
            return impl(rd, range, value);
6203
76.3k
        }
6204
76.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
76.3k
            auto rd = make_reader<T, char_type>();
6206
76.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
76.3k
                return unexpected(e);
6208
76.3k
            }
6209
6210
76.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
76.3k
                specs.width != 0) {
6212
76.3k
                return impl(rd, range, value);
6213
76.3k
            }
6214
6215
76.3k
            auto crange = get_as_contiguous(range);
6216
76.3k
            SCN_TRY(it, impl(rd, crange, value));
6217
76.3k
            return ranges::next(range.begin(),
6218
76.3k
                                ranges::distance(crange.begin(), it));
6219
76.3k
        }
6220
76.3k
        else {
6221
76.3k
            SCN_EXPECT(false);
6222
76.3k
            SCN_UNREACHABLE;
6223
76.3k
        }
6224
76.3k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6192
76.3k
    {
6193
76.3k
        if constexpr (!detail::is_type_disabled<T> &&
6194
76.3k
                      std::is_same_v<
6195
0
                          context_type,
6196
76.3k
                          basic_contiguous_scan_context<char_type>>) {
6197
76.3k
            auto rd = make_reader<T, char_type>();
6198
76.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.84k
                return unexpected(e);
6200
1.84k
            }
6201
6202
74.4k
            return impl(rd, range, value);
6203
76.3k
        }
6204
76.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
76.3k
            auto rd = make_reader<T, char_type>();
6206
76.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
76.3k
                return unexpected(e);
6208
76.3k
            }
6209
6210
76.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
76.3k
                specs.width != 0) {
6212
76.3k
                return impl(rd, range, value);
6213
76.3k
            }
6214
6215
76.3k
            auto crange = get_as_contiguous(range);
6216
76.3k
            SCN_TRY(it, impl(rd, crange, value));
6217
76.3k
            return ranges::next(range.begin(),
6218
76.3k
                                ranges::distance(crange.begin(), it));
6219
76.3k
        }
6220
76.3k
        else {
6221
76.3k
            SCN_EXPECT(false);
6222
76.3k
            SCN_UNREACHABLE;
6223
76.3k
        }
6224
76.3k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6192
5.10k
    {
6193
5.10k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.10k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.10k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.10k
            auto rd = make_reader<T, char_type>();
6198
5.10k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
122
                return unexpected(e);
6200
122
            }
6201
6202
4.98k
            return impl(rd, range, value);
6203
5.10k
        }
6204
5.10k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.10k
            auto rd = make_reader<T, char_type>();
6206
5.10k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.10k
                return unexpected(e);
6208
5.10k
            }
6209
6210
5.10k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.10k
                specs.width != 0) {
6212
5.10k
                return impl(rd, range, value);
6213
5.10k
            }
6214
6215
5.10k
            auto crange = get_as_contiguous(range);
6216
5.10k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.10k
            return ranges::next(range.begin(),
6218
5.10k
                                ranges::distance(crange.begin(), it));
6219
5.10k
        }
6220
5.10k
        else {
6221
5.10k
            SCN_EXPECT(false);
6222
5.10k
            SCN_UNREACHABLE;
6223
5.10k
        }
6224
5.10k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
6192
47.1k
    {
6193
47.1k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.1k
                      std::is_same_v<
6195
0
                          context_type,
6196
47.1k
                          basic_contiguous_scan_context<char_type>>) {
6197
47.1k
            auto rd = make_reader<T, char_type>();
6198
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
47.1k
            return impl(rd, range, value);
6203
47.1k
        }
6204
47.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.1k
            auto rd = make_reader<T, char_type>();
6206
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
47.1k
                return unexpected(e);
6208
47.1k
            }
6209
6210
47.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.1k
                specs.width != 0) {
6212
47.1k
                return impl(rd, range, value);
6213
47.1k
            }
6214
6215
47.1k
            auto crange = get_as_contiguous(range);
6216
47.1k
            SCN_TRY(it, impl(rd, crange, value));
6217
47.1k
            return ranges::next(range.begin(),
6218
47.1k
                                ranges::distance(crange.begin(), it));
6219
47.1k
        }
6220
47.1k
        else {
6221
47.1k
            SCN_EXPECT(false);
6222
47.1k
            SCN_UNREACHABLE;
6223
47.1k
        }
6224
47.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
6192
49.1k
    {
6193
49.1k
        if constexpr (!detail::is_type_disabled<T> &&
6194
49.1k
                      std::is_same_v<
6195
0
                          context_type,
6196
49.1k
                          basic_contiguous_scan_context<char_type>>) {
6197
49.1k
            auto rd = make_reader<T, char_type>();
6198
49.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.46k
                return unexpected(e);
6200
1.46k
            }
6201
6202
47.7k
            return impl(rd, range, value);
6203
49.1k
        }
6204
49.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
49.1k
            auto rd = make_reader<T, char_type>();
6206
49.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
49.1k
                return unexpected(e);
6208
49.1k
            }
6209
6210
49.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
49.1k
                specs.width != 0) {
6212
49.1k
                return impl(rd, range, value);
6213
49.1k
            }
6214
6215
49.1k
            auto crange = get_as_contiguous(range);
6216
49.1k
            SCN_TRY(it, impl(rd, crange, value));
6217
49.1k
            return ranges::next(range.begin(),
6218
49.1k
                                ranges::distance(crange.begin(), it));
6219
49.1k
        }
6220
49.1k
        else {
6221
49.1k
            SCN_EXPECT(false);
6222
49.1k
            SCN_UNREACHABLE;
6223
49.1k
        }
6224
49.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
6192
47.3k
    {
6193
47.3k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.3k
                      std::is_same_v<
6195
0
                          context_type,
6196
47.3k
                          basic_contiguous_scan_context<char_type>>) {
6197
47.3k
            auto rd = make_reader<T, char_type>();
6198
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
47.3k
            return impl(rd, range, value);
6203
47.3k
        }
6204
47.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.3k
            auto rd = make_reader<T, char_type>();
6206
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
47.3k
                return unexpected(e);
6208
47.3k
            }
6209
6210
47.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.3k
                specs.width != 0) {
6212
47.3k
                return impl(rd, range, value);
6213
47.3k
            }
6214
6215
47.3k
            auto crange = get_as_contiguous(range);
6216
47.3k
            SCN_TRY(it, impl(rd, crange, value));
6217
47.3k
            return ranges::next(range.begin(),
6218
47.3k
                                ranges::distance(crange.begin(), it));
6219
47.3k
        }
6220
47.3k
        else {
6221
47.3k
            SCN_EXPECT(false);
6222
47.3k
            SCN_UNREACHABLE;
6223
47.3k
        }
6224
47.3k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6192
47.0k
    {
6193
47.0k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.0k
                      std::is_same_v<
6195
0
                          context_type,
6196
47.0k
                          basic_contiguous_scan_context<char_type>>) {
6197
47.0k
            auto rd = make_reader<T, char_type>();
6198
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
47.0k
            return impl(rd, range, value);
6203
47.0k
        }
6204
47.0k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.0k
            auto rd = make_reader<T, char_type>();
6206
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
47.0k
                return unexpected(e);
6208
47.0k
            }
6209
6210
47.0k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.0k
                specs.width != 0) {
6212
47.0k
                return impl(rd, range, value);
6213
47.0k
            }
6214
6215
47.0k
            auto crange = get_as_contiguous(range);
6216
47.0k
            SCN_TRY(it, impl(rd, crange, value));
6217
47.0k
            return ranges::next(range.begin(),
6218
47.0k
                                ranges::distance(crange.begin(), it));
6219
47.0k
        }
6220
47.0k
        else {
6221
47.0k
            SCN_EXPECT(false);
6222
47.0k
            SCN_UNREACHABLE;
6223
47.0k
        }
6224
47.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
49.0k
    {
6193
49.0k
        if constexpr (!detail::is_type_disabled<T> &&
6194
49.0k
                      std::is_same_v<
6195
0
                          context_type,
6196
49.0k
                          basic_contiguous_scan_context<char_type>>) {
6197
49.0k
            auto rd = make_reader<T, char_type>();
6198
49.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.46k
                return unexpected(e);
6200
1.46k
            }
6201
6202
47.6k
            return impl(rd, range, value);
6203
49.0k
        }
6204
49.0k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
49.0k
            auto rd = make_reader<T, char_type>();
6206
49.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
49.0k
                return unexpected(e);
6208
49.0k
            }
6209
6210
49.0k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
49.0k
                specs.width != 0) {
6212
49.0k
                return impl(rd, range, value);
6213
49.0k
            }
6214
6215
49.0k
            auto crange = get_as_contiguous(range);
6216
49.0k
            SCN_TRY(it, impl(rd, crange, value));
6217
49.0k
            return ranges::next(range.begin(),
6218
49.0k
                                ranges::distance(crange.begin(), it));
6219
49.0k
        }
6220
49.0k
        else {
6221
49.0k
            SCN_EXPECT(false);
6222
49.0k
            SCN_UNREACHABLE;
6223
49.0k
        }
6224
49.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6192
47.2k
    {
6193
47.2k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.2k
                      std::is_same_v<
6195
0
                          context_type,
6196
47.2k
                          basic_contiguous_scan_context<char_type>>) {
6197
47.2k
            auto rd = make_reader<T, char_type>();
6198
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
47.2k
            return impl(rd, range, value);
6203
47.2k
        }
6204
47.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.2k
            auto rd = make_reader<T, char_type>();
6206
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
47.2k
                return unexpected(e);
6208
47.2k
            }
6209
6210
47.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.2k
                specs.width != 0) {
6212
47.2k
                return impl(rd, range, value);
6213
47.2k
            }
6214
6215
47.2k
            auto crange = get_as_contiguous(range);
6216
47.2k
            SCN_TRY(it, impl(rd, crange, value));
6217
47.2k
            return ranges::next(range.begin(),
6218
47.2k
                                ranges::distance(crange.begin(), it));
6219
47.2k
        }
6220
47.2k
        else {
6221
47.2k
            SCN_EXPECT(false);
6222
47.2k
            SCN_UNREACHABLE;
6223
47.2k
        }
6224
47.2k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6192
1.90k
    {
6193
1.90k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.90k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.90k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.90k
            auto rd = make_reader<T, char_type>();
6198
1.90k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.48k
                return unexpected(e);
6200
1.48k
            }
6201
6202
428
            return impl(rd, range, value);
6203
1.90k
        }
6204
1.90k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.90k
            auto rd = make_reader<T, char_type>();
6206
1.90k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.90k
                return unexpected(e);
6208
1.90k
            }
6209
6210
1.90k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.90k
                specs.width != 0) {
6212
1.90k
                return impl(rd, range, value);
6213
1.90k
            }
6214
6215
1.90k
            auto crange = get_as_contiguous(range);
6216
1.90k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.90k
            return ranges::next(range.begin(),
6218
1.90k
                                ranges::distance(crange.begin(), it));
6219
1.90k
        }
6220
1.90k
        else {
6221
1.90k
            SCN_EXPECT(false);
6222
1.90k
            SCN_UNREACHABLE;
6223
1.90k
        }
6224
1.90k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6192
1.93k
    {
6193
1.93k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.93k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.93k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.93k
            auto rd = make_reader<T, char_type>();
6198
1.93k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.36k
                return unexpected(e);
6200
1.36k
            }
6201
6202
570
            return impl(rd, range, value);
6203
1.93k
        }
6204
1.93k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.93k
            auto rd = make_reader<T, char_type>();
6206
1.93k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.93k
                return unexpected(e);
6208
1.93k
            }
6209
6210
1.93k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.93k
                specs.width != 0) {
6212
1.93k
                return impl(rd, range, value);
6213
1.93k
            }
6214
6215
1.93k
            auto crange = get_as_contiguous(range);
6216
1.93k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.93k
            return ranges::next(range.begin(),
6218
1.93k
                                ranges::distance(crange.begin(), it));
6219
1.93k
        }
6220
1.93k
        else {
6221
1.93k
            SCN_EXPECT(false);
6222
1.93k
            SCN_UNREACHABLE;
6223
1.93k
        }
6224
1.93k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char>(char&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6192
1.90k
    {
6193
1.90k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.90k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.90k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.90k
            auto rd = make_reader<T, char_type>();
6198
1.90k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.45k
                return unexpected(e);
6200
1.45k
            }
6201
6202
450
            return impl(rd, range, value);
6203
1.90k
        }
6204
1.90k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.90k
            auto rd = make_reader<T, char_type>();
6206
1.90k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.90k
                return unexpected(e);
6208
1.90k
            }
6209
6210
1.90k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.90k
                specs.width != 0) {
6212
1.90k
                return impl(rd, range, value);
6213
1.90k
            }
6214
6215
1.90k
            auto crange = get_as_contiguous(range);
6216
1.90k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.90k
            return ranges::next(range.begin(),
6218
1.90k
                                ranges::distance(crange.begin(), it));
6219
1.90k
        }
6220
1.90k
        else {
6221
1.90k
            SCN_EXPECT(false);
6222
1.90k
            SCN_UNREACHABLE;
6223
1.90k
        }
6224
1.90k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
6192
90.4k
    {
6193
90.4k
        if constexpr (!detail::is_type_disabled<T> &&
6194
90.4k
                      std::is_same_v<
6195
0
                          context_type,
6196
90.4k
                          basic_contiguous_scan_context<char_type>>) {
6197
90.4k
            auto rd = make_reader<T, char_type>();
6198
90.4k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
90.4k
            return impl(rd, range, value);
6203
90.4k
        }
6204
90.4k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
90.4k
            auto rd = make_reader<T, char_type>();
6206
90.4k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
90.4k
                return unexpected(e);
6208
90.4k
            }
6209
6210
90.4k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
90.4k
                specs.width != 0) {
6212
90.4k
                return impl(rd, range, value);
6213
90.4k
            }
6214
6215
90.4k
            auto crange = get_as_contiguous(range);
6216
90.4k
            SCN_TRY(it, impl(rd, crange, value));
6217
90.4k
            return ranges::next(range.begin(),
6218
90.4k
                                ranges::distance(crange.begin(), it));
6219
90.4k
        }
6220
90.4k
        else {
6221
90.4k
            SCN_EXPECT(false);
6222
90.4k
            SCN_UNREACHABLE;
6223
90.4k
        }
6224
90.4k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
6192
92.5k
    {
6193
92.5k
        if constexpr (!detail::is_type_disabled<T> &&
6194
92.5k
                      std::is_same_v<
6195
0
                          context_type,
6196
92.5k
                          basic_contiguous_scan_context<char_type>>) {
6197
92.5k
            auto rd = make_reader<T, char_type>();
6198
92.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.46k
                return unexpected(e);
6200
1.46k
            }
6201
6202
91.0k
            return impl(rd, range, value);
6203
92.5k
        }
6204
92.5k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
92.5k
            auto rd = make_reader<T, char_type>();
6206
92.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
92.5k
                return unexpected(e);
6208
92.5k
            }
6209
6210
92.5k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
92.5k
                specs.width != 0) {
6212
92.5k
                return impl(rd, range, value);
6213
92.5k
            }
6214
6215
92.5k
            auto crange = get_as_contiguous(range);
6216
92.5k
            SCN_TRY(it, impl(rd, crange, value));
6217
92.5k
            return ranges::next(range.begin(),
6218
92.5k
                                ranges::distance(crange.begin(), it));
6219
92.5k
        }
6220
92.5k
        else {
6221
92.5k
            SCN_EXPECT(false);
6222
92.5k
            SCN_UNREACHABLE;
6223
92.5k
        }
6224
92.5k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
6192
90.8k
    {
6193
90.8k
        if constexpr (!detail::is_type_disabled<T> &&
6194
90.8k
                      std::is_same_v<
6195
0
                          context_type,
6196
90.8k
                          basic_contiguous_scan_context<char_type>>) {
6197
90.8k
            auto rd = make_reader<T, char_type>();
6198
90.8k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
90.8k
            return impl(rd, range, value);
6203
90.8k
        }
6204
90.8k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
90.8k
            auto rd = make_reader<T, char_type>();
6206
90.8k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
90.8k
                return unexpected(e);
6208
90.8k
            }
6209
6210
90.8k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
90.8k
                specs.width != 0) {
6212
90.8k
                return impl(rd, range, value);
6213
90.8k
            }
6214
6215
90.8k
            auto crange = get_as_contiguous(range);
6216
90.8k
            SCN_TRY(it, impl(rd, crange, value));
6217
90.8k
            return ranges::next(range.begin(),
6218
90.8k
                                ranges::distance(crange.begin(), it));
6219
90.8k
        }
6220
90.8k
        else {
6221
90.8k
            SCN_EXPECT(false);
6222
90.8k
            SCN_UNREACHABLE;
6223
90.8k
        }
6224
90.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6192
1.90k
    {
6193
1.90k
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.90k
                      std::is_same_v<
6195
0
                          context_type,
6196
1.90k
                          basic_contiguous_scan_context<char_type>>) {
6197
1.90k
            auto rd = make_reader<T, char_type>();
6198
1.90k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
68
                return unexpected(e);
6200
68
            }
6201
6202
1.84k
            return impl(rd, range, value);
6203
1.90k
        }
6204
1.90k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.90k
            auto rd = make_reader<T, char_type>();
6206
1.90k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.90k
                return unexpected(e);
6208
1.90k
            }
6209
6210
1.90k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.90k
                specs.width != 0) {
6212
1.90k
                return impl(rd, range, value);
6213
1.90k
            }
6214
6215
1.90k
            auto crange = get_as_contiguous(range);
6216
1.90k
            SCN_TRY(it, impl(rd, crange, value));
6217
1.90k
            return ranges::next(range.begin(),
6218
1.90k
                                ranges::distance(crange.begin(), it));
6219
1.90k
        }
6220
1.90k
        else {
6221
1.90k
            SCN_EXPECT(false);
6222
1.90k
            SCN_UNREACHABLE;
6223
1.90k
        }
6224
1.90k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6192
9.98M
    {
6193
9.98M
        if constexpr (!detail::is_type_disabled<T> &&
6194
9.98M
                      std::is_same_v<
6195
0
                          context_type,
6196
9.98M
                          basic_contiguous_scan_context<char_type>>) {
6197
9.98M
            auto rd = make_reader<T, char_type>();
6198
9.98M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
3.51k
                return unexpected(e);
6200
3.51k
            }
6201
6202
9.98M
            return impl(rd, range, value);
6203
9.98M
        }
6204
9.98M
        else if constexpr (!detail::is_type_disabled<T>) {
6205
9.98M
            auto rd = make_reader<T, char_type>();
6206
9.98M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
9.98M
                return unexpected(e);
6208
9.98M
            }
6209
6210
9.98M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
9.98M
                specs.width != 0) {
6212
9.98M
                return impl(rd, range, value);
6213
9.98M
            }
6214
6215
9.98M
            auto crange = get_as_contiguous(range);
6216
9.98M
            SCN_TRY(it, impl(rd, crange, value));
6217
9.98M
            return ranges::next(range.begin(),
6218
9.98M
                                ranges::distance(crange.begin(), it));
6219
9.98M
        }
6220
9.98M
        else {
6221
9.98M
            SCN_EXPECT(false);
6222
9.98M
            SCN_UNREACHABLE;
6223
9.98M
        }
6224
9.98M
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6192
9.98M
    {
6193
9.98M
        if constexpr (!detail::is_type_disabled<T> &&
6194
9.98M
                      std::is_same_v<
6195
0
                          context_type,
6196
9.98M
                          basic_contiguous_scan_context<char_type>>) {
6197
9.98M
            auto rd = make_reader<T, char_type>();
6198
9.98M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
3.51k
                return unexpected(e);
6200
3.51k
            }
6201
6202
9.98M
            return impl(rd, range, value);
6203
9.98M
        }
6204
9.98M
        else if constexpr (!detail::is_type_disabled<T>) {
6205
9.98M
            auto rd = make_reader<T, char_type>();
6206
9.98M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
9.98M
                return unexpected(e);
6208
9.98M
            }
6209
6210
9.98M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
9.98M
                specs.width != 0) {
6212
9.98M
                return impl(rd, range, value);
6213
9.98M
            }
6214
6215
9.98M
            auto crange = get_as_contiguous(range);
6216
9.98M
            SCN_TRY(it, impl(rd, crange, value));
6217
9.98M
            return ranges::next(range.begin(),
6218
9.98M
                                ranges::distance(crange.begin(), it));
6219
9.98M
        }
6220
9.98M
        else {
6221
9.98M
            SCN_EXPECT(false);
6222
9.98M
            SCN_UNREACHABLE;
6223
9.98M
        }
6224
9.98M
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
6225
6226
    scan_expected<iterator> operator()(typename context_type::arg_type::handle)
6227
0
    {
6228
0
        SCN_EXPECT(false);
6229
0
        SCN_UNREACHABLE;
6230
0
    }
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
6231
6232
    range_type range;
6233
    const detail::format_specs& specs;
6234
    detail::locale_ref loc;
6235
};
6236
6237
template <typename Context>
6238
struct custom_reader {
6239
    using context_type = Context;
6240
    using char_type = typename context_type::char_type;
6241
    using parse_context_type = typename context_type::parse_context_type;
6242
    using iterator = typename context_type::iterator;
6243
6244
    template <typename T>
6245
    scan_expected<iterator> operator()(T&) const
6246
0
    {
6247
0
        SCN_EXPECT(false);
6248
0
        SCN_UNREACHABLE;
6249
0
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&) const
6250
6251
    scan_expected<iterator> operator()(
6252
        typename context_type::arg_type::handle h) const
6253
0
    {
6254
0
        if (auto e = h.scan(parse_ctx, ctx); !e) {
6255
0
            return unexpected(e);
6256
0
        }
6257
0
        return {ctx.begin()};
6258
0
    }
Unexecuted instantiation: scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle) const
Unexecuted instantiation: scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle) const
6259
6260
    parse_context_type& parse_ctx;
6261
    context_type& ctx;
6262
};
6263
}  // namespace impl
6264
6265
SCN_END_NAMESPACE
6266
}  // namespace scn